を表示するためのPDOの構築右のクエリは、私は、フォーラム/ブログを作ってるんです。ユーザーはトピックを作成してコメントで話し合うことができます。最も人気のあるトピック(たとえば7)、コメントの多いトピック(先週のトピックなどを表示するのに最適です)を表示できます。私のDB構造、話題とuser_commentsは異なる表です。ここには約ようである方法です:。user_commentsでPHP、最も人気のあるトピックに
topics:
- id
- title
- date
user_comments:
-id
-topic_id
-comment
-date
topic_idをするために使用されますどのトピックコメントが属するかを定義する。私がしようとしているのは、すべてのコメントが最も多いuser_commentsからすべてのtopic_idを選択して、最も人気のあるトピックのタイトルを表示することです。それは(コメントか何かに1回のように)すべてのトピックを複数回表示される瞬間
$stmt = $db->prepare('SELECT topic_id FROM user_comments ORDER BY comment DESC LIMIT 7');
$stmt->execute();
$topicsID = $stmt->fetchAll();
foreach ($topicsID as $row) {
// Problem is starting here, it displays topic_id multiple times
echo 'Most popular topic is: ' . $row['topic_id'] . '<br>';
$topic_id = $row['topic_id'];
}
$stmt = $db->prepare('SELECT title FROM topics WHERE id = :topic_id');
$stmt->bindValue(':topic_id', $topic_id);
$stmt->execute();
$title = $stmt->fetchAll();
foreach ($title as $row) {
echo 'Most popular topic title is: ' . $row['title'] . '<br>';
}
: はここに私のコード例です。助けてくれてありがとう、みなさんありがとう!あなたが参加して、単一のクエリを使用して得ることができた
使用によって2つのクエリを、または結合を使用しています。 2つのクエリを使用すると、最も時間のかかるuser_commentsからtopic_idを取得し、トピックのIDを選択するために2回目のクエリを1回実行することができます。 – clearshot66
これはまあまあです。いいえ?それは私がそれを作ることができないので、すべてのtopic_idは一度表示されます –
正確には.... – clearshot66