我有两张桌子
第一个是类别,第二个是产品。
类别表包含cat_id, cat_name, Cat_desc.
产品表包含product_id, product_name, Product_desc and cat_id
我希望将所有类别显示为标题,并在每个类别标题下仅列出4个相关产品。
例如:
Category1
Product 1, Product 2, product 3
Category 2
Product 4, product 5
我该如何编写脚本呢?我是新手请帮助
答案 0 :(得分:2)
好的我觉得你的问题还可以。试试这个......
$sql = "SELECT cat_id, cat_name FROM categories ";
$query = mysql_query($sql);
while($result = mysql_fetch_array($query)){
echo $result['cat_name'];
$sql1 = "SELECT * FROM products WHERE cat_id=".$result['cat_id'];
$query1 = mysql_query($sql1);
while($row = mysql_fetch_array($query1)){
echo $row['product_name'];
}
}
答案 1 :(得分:0)
试试这个::
Select * from
categories c left join products p on (p.catId = c.catId)
order by c.catId
答案 2 :(得分:0)
您可以参考本教程 您需要为此执行递归功能 我称之为 类别树
答案 3 :(得分:0)
在Nytram的帖子的帮助下,我只是改变了代码。所以这个答案是对Nytram的99%欠款。
$sql = "SELECT cat_id, cat_name FROM categories ";
$query = mysql_query($sql);
while($result = mysql_fetch_array($query)){
echo $result['cat_name'];
改变的行是:
$sql1 = "SELECT * FROM products WHERE cat_id='".$result['cat_id']."' LIMIT 0,10";
然后使用相同的代码
$query1 = mysql_query($sql1);
while($row = mysql_fetch_array($query1)){
echo $row['product_name'];
}
}