【发布时间】:2016-12-05 13:41:38
【问题描述】:
我是编程新手,目前正在尝试将主类别 + 子类别显示为树。
已创建包含类别的菜单。现在,当我单击主类别名称时,我想加载分配给该主类别的所有子类别中的所有产品。问题是我不明白如何构建我的查询。
在我的表格类别中,我存储了主猫和子猫。当我将子类别添加到某个主类别时,我将主类别 ID 存储在 parentID 列下。
例子
ID Name parentID
426 Main Cat 0
427 sub-cat 426
428 sub-cat 2 426
429 Main cat 2 0
products 表有 categoryID 列
productID categoryID
1 427
2 428
3 429
所以当我点击 maincatID=1 时,它应该向我显示 id 为 1 和 2 的产品,因为它们被分配给 sub-cat,而 sub-cat 被分配给主猫 1
这个查询我试过了
$masterCategory = '426';
$query="SELECT * from products
LEFT JOIN categories on categories.categoryID = products.categoryID
WHERE products.categoryID in (" . $masterCategory ."0)";
当我点击 catid=426 时,我应该得到 2 个产品,因为我有两个产品添加到分配给 catid=426 的 subs ... 产品 1 和 2。
问题是我有 4 到 5 个空产品,上面有 NULL 一切......这是不正确的。
Var_dump($query);返回
SELECT * from products
LEFT JOIN categories on categories.categoryID = products.categoryID
WHERE products.categoryID in (427,428,426,0)
var_dump($masterCategory);返回
string(12) "427,428,426,"
注意:我已经阅读过有关参数化查询的内容。我在 sql 中添加参数只是为了测试目的。
【问题讨论】:
标签: mysql