【发布时间】:2014-02-07 12:38:51
【问题描述】:
我尝试实现以下目标:
- 一些很棒的帖子标题(发表在体育)
- 帖子的另一个标题这里(张贴在空间)
- 一些帖子的标题很酷(发布在技术中)
- 等等……
我显示所有类别的所有帖子,并将类别名称放在每个帖子旁边。 我不明白在哪里以及为什么会失败。所有帖子都乘以类别数。 这是我到目前为止所拥有的:
posts table:
post_id
post_title
post_content
category_id
categories table:
category_id
category_name
category_description
还有我的查询和 PHP 代码:
// I select all categories with their id and name
$stmt = $db->prepare("SELECT * FROM categories");
$stmt->execute();
$row_categories = $stmt->fetchAll(PDO::FETCH_ASSOC);
// I select all posts too
$stmt = $db->prepare("SELECT * FROM posts");
$stmt->execute();
$row_posts_all = $stmt->fetchAll(PDO::FETCH_ASSOC);
然后:
foreach ($row_posts_all as $array_index_number => $name_of_index) {
foreach ($row_categories as $array_index_number_categories => $name_of_index_category) {
print $name_of_index['post_title'] . " posted in: " . $name_of_index_category['category_name'] . "<br><br>";
}
}
我认为这两个 foreaches 部分做错了。我可以做一个 foreach 来显示所有帖子,但我不知道如何获取它们的类别名称并将它们放在下一个。
【问题讨论】:
-
您的帖子表中是否有类别的参考?那列名称是什么?
-
是的!对不起!我忘记了一个字段。我更新了我的问题。我在
posts表中有“category_id”
标签: php