MySQL/PHP:如何仅显示一个包含相关项的类别
我的目标是使用PHP和MySQL从数据库中选择与特定类别相关的所有项目。 使用下面的脚本,我可以选择包含相关项目的所有类别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
$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”