各カテゴリから最大3つの投稿を表示したい。また、私は各カテゴリーに少なくとも3つの投稿があることを確認したい(投稿数を得る)。mysql left joinから2つの異なる制限を取得する
+---------+---------------+
| cat_id | cat_name |
+---------+---------------+
| 1 | cat name 1 |
| 2 | cat name 2 |
| 3 | cat name 3 |
+---------+---------------+
記事テーブル
+------+--------+-------+
| p_id | post | c_id |
+------+--------+-------+
| 1 | post 1 | 1 |
| 2 | post 2 | 1 |
| 3 | post 3 | 2 |
| 4 | post 1 | 2 |
| 5 | post 2 | 1 |
| 6 | post 3 | 3 |
| 6 | post 3 | 1 |
+------+--------+-------+
クエリ
if($results=$mysqli->query(SELECT * FROM categories LEFT JOIN posts ON posts.p_id= categories.cat_id WHERE posts.p_id= categories.cat_id ORDER BY cat_id LIMIT 0, 10")){
while($row = mysqli_fecth_array($results)){
//Do stuff
}
$results ->close();
}
どれ例やコメントが高く評価されているテーブルストレッチャ
下のカテゴリーの表を参照してください。
テーブルカテゴリ(cat_id)でテーブルの投稿(c_id)のカテゴリIDに参加するべきではありませんか? http://www.w3schools.com/sql/sql_join.asp –
google "$ results = $ mysqli-> query"を参照してください。返されるすべての結果は、あなたのコードが欠けていますか? – Strawberry
これがあなたの本当のコードならば。あなたはここに 'mysqli_fecth_array'という大きな誤植があります(SELECT? - 構文の強調表示に気付いています)。 –