Доброго времени суток. Я сделал в админке к новостной ленте функцию "новые комментарии". Вобщем всё работает. Теперь захотел сделать так, чтобы на этой странице с новыми комментами собственно новые комменты выделялись жирным, а отредактированные - обычным шрифтом. Решил сделать так - 1. Добавить новое поле к таблице с комметами : [sql]new ENUM ('new','old') NOT NULL DEFAULT 'old',[/sql] 2. При добавлении коммента посетителем в таблицу в поле new заносится значение 'new': PHP: $query = "INSERT INTO comments (id_news, date_com, name_com, comm, new) VALUES ('$id',now(), '$name_com', '$com','new')"; 3. На странице с новыми комментами если new = 'new' - выделяем жирным, если нет - текст обычный: PHP: if ($rw['new']=='new') echo " <th>".$i++."</th> <th>".htmlspecialchars($rw['name_com'])."</th> <th>".$rw['comm']."</th> <th>".$rw['date_reg']."</th> <th>".$row['head']."</th> "; else echo" <td>".$i++."</td> <td>".htmlspecialchars($rw['name_com'])."</td> <td>".$rw['comm']."</td> <td>".$rw['date_reg']."</td> <td>".$row['head']."</td> "; 4. (до этого я ещё не дошёл но думаю сделать так) При редактировании коммента значение 'new' меняю на 'old' и новость будет выводится обычным шрифтом. Первые три шага я проделал. ПРОБЛЕМА вот в чём - в таблицу добавился лишь один коммент и больше добавлять отказывается. Почему так? Может есть более подходящий тип для поля new? и вопросик для общего развития : Может лучше это делать при помощи аякса или яваскрипта? Надеюсь на вашу помощь[/php]
Выдаёт ошибку can't add into table отсюда: PHP: $query = "INSERT INTO comments (id_news, date_com, name_com, comm, new) VALUES ('$id',now(), '$name_com', '$com','new')"; if (mysql_query($query)) { header("Location: comments.php?id=$id"); } else echo"can't add into table";
ммм... он тебе случайно не намекает, что у тебя $id=0 и ты его пытаешься пропихнуть в базу не пользуясь автоинкрементом? При том что id у тебя видимо уникальный.
Действительно, каким-то образом исчезло свойство автоинкремент из поля id. До того как я добавил в таблицу поле new всё заносилось как надо. Добавил, всё работает, спасибо за помощь. Всё же спрошу ещё раз - не лучше ли подобные функции делать на яваскрипте или аяксе, просто с этими языками я пока не знаком и мне всё чудится, что я черпаю из озера ложкой, делая такие вещи на РНР?
Яваскрипт не должен лезть в базу данных. Да и не может, в общем-то. А Ajax все равно будет обращаться к php на котором это и сделано. Или ты имеешь в виду "подсвечивать новые сообщения прямо на странице яваскриптом, не обращаясь к базе"? А как js будет решать какое сообщение новое? Нет уж, лучше php.
лучше назначать css класс новым сообщениям и в правилах уже прописывать стили. А заголовочные ячейки оставить для заголовков