【发布时间】:2016-05-20 12:19:49
【问题描述】:
我希望每个类别最多显示 3 个帖子。另外我想检查每个类别至少有 3 个帖子(获取帖子数)。请看下面的桌子担架
分类表
+---------+---------------+
| 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();
}
感谢任何示例或 cmets。
【问题讨论】:
-
您不应该将表 Posts (c_id) 中的类别 ID 与表 Category 中的 cat_id 连接起来吗?见w3schools.com/sql/sql_join.asp
-
所以谷歌“$results=$mysqli->query”。返回的每个结果都有哪些说明您的代码丢失了?
-
如果那是你的真实代码;您在
query( SELECT中缺少引号 - 注意语法突出显示?这是一个很大的错字mysqli_fecth_array -
嘿雪利酒,你发布的代码。那是你真正在这里使用的吗?那里很少有错别字,有人想在编辑中修复它,我们怎么知道这不是真正的问题?你需要在这里说出来。由于拼写错误,您的问题被投票关闭。
-
好的,我不在这里了。你们处理这个烂摊子。