我有3个数据库表,products
,categories
和assignment
所有三个表都有唯一的ID。
第三个表assignment
,将产品ID与类别ID相关联。一个例子:
products:
---------------------
| name | id |
---------------------
| white shirt | 234 |
| black pants | 0u2 |
categories:
---------------------
| name | id |
---------------------
| shirts | x23 |
| pants | 28x |
assignment:
------------------------
| catId | itemId | id |
------------------------
| x23 | 234 | 892 |
| 28x | 0u2 | 561 |
我想创建一个列表。一个例子:
<items>
<cats>shirts</cats>
<item>white shirt</item>
<cats>pants</cats>
<item>black pants</item>
</items>
重要的是,第一个类别名称和产品列在类别中。
SQL:
select assignment.itemId, assignment.catId from assignment
left join categories
on categories.id = assignment.catId
where categories.active = '1'
我的SQL查询正常。问题是在while循环中一起正确提供列表。
PHP while循环:
if ($res != false && $res->count() > 0) {
$i = 0;
$html = '<items>';
while (!$res->EOF) {
$categories = $res->fields[1];
$html .= '<cats>'.$categories->title.'</cats>';
$products = $res->fields[0];
$html .= '<item>'.$products->title.'</item>';
$i++;
}
$html .= '</items>';
}
在while循环中,我可以读取产品字段[0]和类别字段[1],但我无法按照自己的意愿制作列表。
我的结果如下:
衬衫
裤
白衬衫
黑色裤子
你有什么解决方案吗?
谢谢你!