Задавайте вопросы, мы ответим
Вы не зашли.
Немного "рисую" на PHP
Вот попал в засаду, по выводу из таблицы с комментариями, коментариев с дополнительным запросм в таблицу с пользователями. Т.е если совпадение ника коментатора с ником пользователя брался юзерлевел из таблицы с пользователями. Но суть в том что в таблице с пользователями может и не быть такого ника и выдает нулл.
Вот код просто с выдачей комментов
$result = SQL_Query("SELECT *
FROM ".$bd_comments."
where comment_topic='".$topic."' AND comment_post_id=".$id."
ORDER BY comment_id DESC LIMIT 0,10");
А вот то, что пытаюсь да не выходит
$result = SQL_Query("SELECT comm.*, u.user_level
FROM ".$bd_comments." comm, users u
where comment_topic='".$topic."' AND comment_post_id=".$id." AND comment_user_name=u.login
ORDER BY comment_id DESC LIMIT 0,10");
И что странно все получается если первый(т.е последний) комментарий был дан зарегеным пользователем
А вот если гостем то ни одного коммента не выдает
В чем может быть дело ... подскажите [желательно малой кровью]
MySQL 5.0.51a
Неактивен
Насколько я понял, проблема заключается в том, что не у всех комментариев есть создавший
их пользователь. Это не очень хорошо
SELECT comm.*, u.user_level
FROM ".$bd_comments." comm LEFT JOIN users u ON comment_user_name=u.login
where comment_topic='".$topic."' AND comment_post_id=".$id."
ORDER BY comment_id DESC LIMIT 0,10
Вот так будут выдаваться NULL только в колонке пользователя, если его нету. Но структуру
стоит продумать еще раз (ведь можно «анонимно» написать комментарий с именем пользователя,
например, администратора — и тогда этот комментарий по текущей технологии будет считаться
комментарием администратора... плохо ). Лучше хранить id пользователей.
Неактивен
Помогло, спасибо
«анонимно» написать комментарий можно, но в он будет добавлен как от простого юзера.
В таблице с комментариями есть поле user_regged и дополнительно проверяется зарегистрирован пользователь или нет.
Неактивен