Как выбрать статью и ее комментарии из MySQL? - PullRequest
0 голосов
/ 14 ноября 2011

Я прочитал статью и ее комментарии из базы данных mysql с двумя отдельными запросами как

$result = mysql_query("SELECT * FROM articles WHERE article_id='$id'");
$row = mysql_fetch_array($result);
$title=$row['title'];
........

И

$result = mysql_query("SELECT * FROM comments WHERE article_id='$id'");
while($row = mysql_fetch_array($result)) {
$comment_title=$row['title'];
.........
}

Является ли лучший способ прочитать этот набор данных из базы данных? ИЛИ ЖЕ Можно ли перехватить данные одним запросом или одной транзакцией?

ПРИМЕЧАНИЕ: Моя проблема в том, что первый запрос к статье только для одной строки; но второй нуждается в цикле для обработки (и отображения в html) нескольких комментариев.

Ответы [ 3 ]

2 голосов
/ 14 ноября 2011

Вы можете сделать это следующим образом -

SELECT a.*, c.* FROM articles a
  LEFT JOIN comments c
    ON a.article_id = c.article_id
WHERE a.article_id='$id';
2 голосов
/ 14 ноября 2011
$result = mysql_query("SELECT articles.title as article_title, comments.title as comment_title FROM articles LEFT JOIN comments ON articles.article_id = comments.article_id WHERE articles.article_id = '$id'");
$row = mysql_fetch_array($result);
$article_title=$row['article_title'];
$comment_title=$row['comment_title '];
0 голосов
/ 15 ноября 2011

Является ли лучший способ прочитать этот набор данных из базы данных?

Конечно, это так.

Возможно ли перехватить данные одним запросом

Да, это возможно, но в этом нет смысла.

Почему выспросить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...