MySQL/PHP:如何仅显示一个包含相关项的类别

MySQL/PHP:如何仅显示一个包含相关项的类别,php,mysql,Php,Mysql,我的目标是使用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.categ

我的目标是使用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'];
}
$sql=query(“选择自行车为'cat\u name',c.image为'image',p.title为'product\u name'
来自产品p
内连接类别c
关于p.category_id=c.id”);
while($row=mysqli\u fetch\u数组($sql)){
echo$row['cat_name']。
; echo$row['product_name'].
; echo$row['image']; }
结果是:

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

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

上述结果并不反映期望的结果。 我只希望选择一个类别,其中包含以下相关项目:

自行车
项目1
项目2
项目3
…试试这个:

$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 ");

您需要使用
Group_concat
尝试在msql控制台中运行您的查询,并查看以下脚本使用的结果:“选择bike作为'cat_name',c.image作为'image',Group_concat(p.title)作为产品p中的“产品名称”,在p.category\u id=c.id组中通过p.category\u id内部连接类别c”