Есть запрос: PHP: SELECT phpbb_topics.topic_id, phpbb_topics.forum_id, phpbb_topics.topic_title, phpbb_topics.topic_poster, phpbb_topics.topic_first_poster_name, phpbb_topics.topic_time, phpbb_topics.topic_last_post_time, phpbb_topics.topic_last_post_id, phpbb_topics.topic_last_poster_name, phpbb_topics.topic_last_poster_id, phpbb_topics.topic_views, phpbb_topics.topic_replies FROM phpbb_topics WHERE topic_approved = 1 ORDER BY phpbb_topics.topic_last_post_time DESC LIMIT 10 Нужно в этот же запрос добавить вывод из таблицы users поля group, где: PHP: phpbb_topics.topic_last_poster_name = users.name В мускуле не настолько силен. Помогите
Fantom3D по SQL есть прикрепленная тема, в следующий раз пишите в нее. Code: SELECT a.topic_id, a.forum_id, ...тут остальные столбцы..., b.group FROM phpbb_topics LEFT JOIN users ON a.topic_last_poster_name=b.name WHERE topic_approved = 1 ORDER BY a.topic_last_post_time DESC LIMIT 10
Спасибо, я так уже пробовал, но не работает... пишет: PHP: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in G:\Programs\VertrigoServ\www\3\blocks\block-forum.php on line 13 Вот код запроса: PHP: SELECT phpbb_topics.topic_id, phpbb_topics.forum_id, phpbb_topics.topic_title, phpbb_topics.topic_poster, phpbb_topics.topic_first_poster_name, phpbb_topics.topic_time, phpbb_topics.topic_last_post_time, phpbb_topics.topic_last_post_id, phpbb_topics.topic_last_poster_name, phpbb_topics.topic_last_poster_id, phpbb_topics.topic_views, phpbb_topics.topic_replies, users.group FROM phpbb_topics LEFT JOIN users ON phpbb_topics.topic_last_poster_name = users.name WHERE topic_approved = 1 ORDER BY phpbb_topics.topic_last_post_time DESC LIMIT 10 В чем проблема? P.S Кстати, phpbb_topics.topic_last_poster_name и users.name содержат текст, может в этом беда?
Fantom3D Ваш текст ошибки не несет разъяснений что не правильно. Сразу после запроса к БД сделайте нормальный вывод ошибки: PHP: $query = mysql_query("тратата проблемный запрос"); if (!$query) echo mysql_errno().'=>'.mysql_error();
Все оказалось достаточно просто, я неправильно указал название таблицы. А так все работает. P.S И последний вопрос, а из 3 таблиц возможно брать данные таким образом?
Fantom3D Поэтому стоит выводить ошибку mysql с помощью вышеописанной конструкции - там было бы сразу написано, что таблицы к которой вы обращаетесь - не существует можно, не забывайте только проверять запросы с помощью EXPLAIN и устанавливать правильные индексы