Как сделать вывод, добавление комментариев к определённой новости,
В таблице coment, есть столбик idnews, то есть при добавление новости, или выводе, он считывает, записывает ID новости с $_GET['id'],
Но вот как сделать это в коде я не знаю подскажите!!!
Есть вывод новостей:
<?php
$id = isset($_GET['id']) ? (int) $_GET['id'] : 0;
if ($id > 0)
{
mysql_connect($dbip, $dblogin, $dbpass) || die('Нет коннекта к базе');
mysql_select_db($dbnews) || die('Не удалось выбрать БД');
mysql_query("SET NAMES 'utf8'");
$res = mysql_query('SELECT * FROM `news` WHERE `id` = ' . $id);
if ($array = mysql_fetch_array($res))
{
echo '<br>';
echo '<div class=title_full_news>'. $array['tittle'] .'</div>';
echo '<br>';
echo '<div align=center class=img_fon_news_full><img class=images_news_full src=/style/img/newsfull/'.$array['full_img_news'].'></div>';
echo '<br>';
echo '<div class="text_full_news">'.$array['mesfull'].'</div>';
echo '<br><br><br>';
echo '<div class="add_text">';
echo '<span class=text_full_bootion> Добавил: </span><span class=text_full_bootion_add>' .$array['avtor']. '</span>';
echo '<span class=text_full_bootion> Дата: </span><span class=text_full_bootion_add>' .$array['data']. '</span>';
echo '<span class=text_full_bootion> Категория: </span><span class=text_full_bootion_add>' .$array['kategor']. '</span>';
echo '</div>';
echo '<div class="comment">';
echo '<span class=coment_text1>Коментарии:</span>';
echo '</div>';
?>
<div>
<div><? include ('modules/coment.php'); ?></div>
</div>
<?
}
else
echo 'Данная новость не найдена, возможно вы ввели не верный URL. Проверти правильность URL!!!';
}
mysql_close();
?>
где :
<? include ('modules/coment.php'); ?>
Содержит:
<?php
// Сообщение об ошибке:
error_reporting(E_ALL^E_NOTICE);
include "connect.php";
include "comment.class.php";
/*
/ Выбираем все комментарии и наполняем массив $comments объектами
*/
$comments = array();
$result = mysql_query("SELECT * FROM comments ORDER BY id ASC");
while($row = mysql_fetch_assoc($result))
{
$comments[] = new Comment($row);
}
?>
<div id="main">
<?php
/*
/ Вывод комментариев один за другим:
*/
foreach($comments as $c){
echo $c->markup();
}
?>
</div>
<br>
<div id="addCommentContainer">
<p>Добавить комментарий</p>
<form id="addCommentForm" method="post" action="">
<div>
<label for="name">Имя</label>
<input type="text" name="name" id="name" />
<label for="email">Email</label>
<input type="text" name="email" id="email" />
<label for="url">Вебсайт (не обязательно)</label>
<input type="text" name="url" id="url" />
<label for="body">Содержание комментария</label>
<textarea name="body" id="body" cols="20" rows="5"></textarea>
<input type="submit" id="submit" value="Отправить" />
</div>
</form>
</div>
Но естественно вывод комментариев работает, но он выводит все Комменты из таблицы coment,
запись в таблицу:
<?php
// Сообщение об ошибке:
error_reporting(E_ALL^E_NOTICE);
include "connect.php";
include "comment.class.php";
/*
/ Данный массив будет наполняться либо данными,
/ которые передаются в скрипт,
/ либо сообщениями об ошибке.
/*/
$arr = array();
$validates = Comment::validate($arr);
if($validates)
{
/* Все в порядке, вставляем данные в базу: */
mysql_query(" INSERT INTO comments(name,url,email,body)
VALUES (
'".$arr['name']."',
'".$arr['url']."',
'".$arr['email']."',
'".$arr['body']."'
)");
$arr['dt'] = date('r',time());
$arr['id'] = mysql_insert_id();
/*
/ Данные в $arr подготовлены для запроса mysql,
/ но нам нужно делать вывод на экран, поэтому
/ готовим все элементы в массиве:
/*/
$arr = array_map('stripslashes',$arr);
$insertedComment = new Comment($arr);
/* Вывод разметки только-что вставленного комментария: */
echo json_encode(array('status'=>1,'html'=>$insertedComment->markup()));
}
else
{
/* Вывод сообщений об ошибке */
echo '{"status":0,"errors":'.json_encode($arr).'}';
}
?>