Есть две таблицы comments и users. Они связаны между собой. Необходимо получить данные из обеих таблиц в одном запросе. Делаю такой запрос
$Result = mysqli_query($CONNECT, 'SELECT comments.id, comments.added, comments.date, comments.text, users.id, users.fname, users.lname, users.avatar, users.login FROM comments, users ORDER BY comments.id DESC');
И вывожу:
while ($Row = mysqli_fetch_assoc($Result)) { echo '
<h6 class="comment__name">
<a href="/users/'.$User['login'].'">'.$Row['fname'].' '.$Row['added'].' '.$Row['lname'].'</a></h6>
<span>'.$Row['date'].'</span>
<div class="comment__content">'.$Row['text'].'</div>
';}
Проблема в следующем: одну и ту же строку while выводит 2 раза.
Спасибо Mike за подсказку, решение:
$Result = mysqli_query($CONNECT, ('SELECT comments.id, comments.added, comments.date, comments.text, users.id, users.fname, users.lname, users.avatar, users.login FROM comments, users WHERE comments.added = users.login ORDER BY comments.id DESC'));
Если таблицы связаны по id
используйте, например, такой запрос:
SELECT
c.id,
c.added,
c.date,
c.text,
u.fname,
u.lname,
u.avatar,
u.login
FROM
comments c,
users u
WHERE c.id = u.id
ORDER BY c.id DESC
или используйте join
.
Если сам запрос возвращает по 2 строки, добавь DISTINCT после SELECT
SELECT DISTINCT comments.id, comments.added, comments.date, comments.text, users.id, users.fname, users.lname, users.avatar, users.login
FROM comments, users
ORDER BY comments.id DESC
Виртуальный выделенный сервер (VDS) становится отличным выбором
На сайте под управлением Wordpress есть форма сделана c помощью плагина Contact Form 7Как добавить во входящий имейл из формы еще функцию get_page_link() Мне...
Учу язык С++ по книги РЛафоре "Объектно-ориентированное программирование на С++"
На данный вопрос уже ответили: