0

我试图通过匹配他们的模型从我的产品表中提取有关库存项目的其他信息。

我想从这个while循环中的products表中运行另一个查询,其中model=$model。从那里我想得到像价格这样的变量来显示在我的$inventory_list

$sql = mysql_query("SELECT * FROM inventory order by model");
    // get all the product details
    while($row = mysql_fetch_array($sql)){ 
         $model = $row["model"];
         $serial = $row["serial"];
         $inventory_list .= "$model $serial <br />";
         }

如果我需要跟踪连续剧,是否需要使用另一个表进行库存?任何和所有的帮助表示赞赏!!!

4

2 回答 2

2

您需要将JOINinventoryproducts放在一起,以便通过单个查询获得相同的结果,从而减少网络开销。

它应该看起来像这样:

SELECT `inventory`.*, `products`.`price`
FROM `inventory`
LEFT JOIN `products` ON `inventory`.`model` = `product`.`model`
ORDER BY `inventory`.`model`;

加入参考http ://dev.mysql.com/doc/refman/5.0/en/join.html

于 2013-02-02T05:53:31.690 回答
1

更改您的查询以连接两个表并返回数据,这样您就不必在 while 循环中调用另一个查询,从而提高性能并减少对数据库的调用

前任:

SELECT i.* , p.price
FROM inventory i
JOIN products p on i.model = p.model
order by i.model
于 2013-02-02T05:54:53.580 回答