我正在开发一个php项目,用户可以从表单中选择汽车的品牌和型号,这将触发搜索适用于该特定组合的产品。当我在SQL中运行查询,并且有多个产品时,我得到多行。但是当我尝试使用PHP显示这些结果时,我只得到1行。你知道我做错了什么吗?这是代码:
Set rs = db.OpenRecordset("MOVIMIENTOS")
非常感谢你的帮助
修改 - 评论中来自OP文件http://standtek.com.mx/test/screenshots.docx的内容
因此,用户将从下拉列表中选择汽车的品牌和型号。第一个查询在表中查找make和model:
然后我使用PARTMAKE列中的信息作为第二个查询的参考
以下是phpmyadmin中的查询示例,它显示了4行:
由于某种原因,我当前的脚本只显示1行:
这是我想要在结果中显示的内容:
答案 0 :(得分:0)
使用JOIN
查询,您可以返回所有行 -
$query = "SELECT products.*
FROM products
JOIN partmakes
ON (
products.PARTNO = partmakes.PARTMAKE1
OR
products.PARTNO = partmakes.PARTMAKE2
OR
products.PARTNO = partmakes.PARTMAKE3
OR
products.PARTNO = partmakes.PARTMAKE4)
WHERE partmakes.MAKE = '$_POST[make]'
AND partmakes.MODEL ='$_POST[model]'";
$results = mysqli_query($cnx, $query);
echo "These are the products for your car:<br />";
echo "<table><tr><th>PARTNO</th><th>TITLE</th><th>PRICE</th></tr>";
while ($row = mysqli_fetch_assoc($results)){
echo "<tr><td>{$row[PARTNO]}</td><td>{$row[TITLE]}</td><td>{$row[PRICE]}</td></tr>";
}
echo "</table>";
确保清理您的$_POST
用户数据。
您可以在sqlFiddle中看到JOIN
查询 - http://sqlfiddle.com/#!9/754feb/4