【发布时间】:2023-03-10 21:06:01
【问题描述】:
我正在尝试在我正在构建的电子商务网站上创建产品搜索功能,但遇到了一些麻烦。
我有 3 个表(类别、子类别、产品)
类别表字段:(categoryID, categoryName, active, image)
sub_categories 表字段:(categoryID, categoryName, parentCatID, active, image)
产品表字段:(productID、shortDescription、longDescription、image、catID、subCatID、active、price、delivery、weight)
如果用户键入简短描述或详细描述的任何部分,或者如果用户键入类别或子类别名称的任何部分,我试图让我的搜索找到产品,它应该找到这些类别中的所有产品.
我不知道是执行 JOIN 查询还是执行多个 SQL 查询。老实说,我已经修补了几个小时,但还没有真正到达任何地方,现在又回到绘图板上寻求帮助
我的第一次尝试是这样的:
$catSelect = mysqli_query($con,"SELECT * FROM categories WHERE categoryName LIKE '%{$term}%'");
$row1 = mysqli_fetch_row($catSelect);
$subCatSelect = mysqli_query($con,"SELECT * FROM sub_categories WHERE categoryName LIKE '%{$term}%' OR parentCatID = '%{$row1[0]}%'");
$row2 = mysqli_fetch_row($subcatSelect);
$productSelect = mysqli_query($con,"SELECT * FROM products WHERE short_description LIKE '%{$term}%' OR long_description LIKE '%{$term}%' OR subCatID = '%{$row2[0]}%' OR catID = '%{$row1[0]}%'");
我的最后一次尝试是这样的
mysqli_query($con,"SELECT * FROM products INNER JOIN categories ON products.catID = categories.categoryID WHERE categories.categoryName LIKE '%{$term}%'") or die(mysqli_error());
有人可以帮我处理我需要使用的 SQL 查询吗?
【问题讨论】:
-
您的查询尝试(即使错误)将帮助每个人了解您当前的 SQL 技能水平并相应地提出解决方案。此外,您付出的努力越多,您收到的答案就越好
-
好的,编辑以适应您的建议(彻底使用撤消按钮)