【问题标题】:MySQL / PHP: how to display only one category with related itemsMySQL / PHP:如何仅显示一个具有相关项目的类别
【发布时间】:2015-11-19 08:54:41
【问题描述】:

我的目标是使用 PHP 和 MySQL 从数据库中选择与特定类别相关的所有项目。 使用下面的脚本,我可以选择所有具有相关项目的类别。

$sql = query("SELECT bike AS 'cat_name', c.image AS 'image', p.title AS    'product_name'
                FROM products p
                INNER JOIN categories c
                ON p.category_id = c.id");

while( $row = mysqli_fetch_array($sql)) {
echo $row['cat_name'].'<br />';
echo $row['product_name'].'<br />';
echo $row['image'];
}

这是结果:

自行车
项目 1
项目 2
项目 3
...

自行车
项目 1
项目 2
项目 3
...

上面的结果并不反映预期的结果。 我希望只选择一个具有相关项目的类别,如下所示:

自行车
项目 1
项目 2
项目 3
...

【问题讨论】:

  • 你需要使用Group_concat
  • 尝试在 msql 控制台中运行查询并查看结果
  • 我使用了以下脚本:“SELECT bike AS 'cat_name', c.image AS 'image', GROUP_CONCAT(p.title)AS 'product_name' FROM products p INNER JOIN categories c ON p.category_id = c.id GROUP BY p.category_id"

标签: php mysql


【解决方案1】:

试试这个:

$sql = query("SELECT bike AS 'c.cat_name', c.image AS 'image', p.title AS 'product_name'
FROM products p, categories c
WHERE p.categroy_id = c.id
AND p.id = THE_ID_OF_THE_CATEGORY ");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-09
    • 1970-01-01
    相关资源
    最近更新 更多