<?php
$sqlstr = mysql_query("SELECT * FROM outfits")or die(mysql_error());
if (mysql_numrows($sqlstr) != 0) {
while ($row = mysql_fetch_array($sqlstr)) {
$sqlstr2 = mysql_query("SELECT * FROM products WHERE pid in ($row['tid'], $row['did'])")or die(mysql_error());
?>
<p><?= $row['pname'] ?></p>
<p><?= $row['pcat'] ?></p>
<p><?= $row['pimg1'] ?></p>
<?php
}
}
?>
回答
試試這個 $sqlstr2 = mysql_query("SELECT * FROM products WHERE pid in (select id from second table where condition)")or die(mysql_error());
您可以在一個查詢做到這一點:
SELECT p.* FROM outfits AS o
INNER JOIN products AS p
ON p.pid IN (o.tid, o.did)
這,你不要一味地粘貼PHP值到你的查詢(額外的好處通常是一大紅旗,因爲除非你真的非常小心,否則你會打開一大堆SQL注入漏洞)。
+ 1'ed - 只要沒有產品的服裝不需要檢索,這是它。 – stefgosselin
如果他們這樣做,請改用'LEFT JOIN'。 – tdammers
此查詢顯示了所有在裝備行中具有匹配的產品行的循環,但我想要做的是有一個裝備循環,並且每個裝備都有一個tid和一個裝備。 –
- 1. Mysql根據另一個表中的行選擇不同的行
- 2. 選擇在另一個表中沒有關係的行
- 3. 選擇在另一個表中有相應行的錶行
- 4. mysql從另一個表中選擇一行的多個列
- 5. MySQL:如何根據可用性在另一個表中選擇
- 6. 選擇在另一個表中具有一組值的行
- 7. 如何選擇所有在一個表中存在但沒有在另一個表中的ID
- 8. 從一個表,行中有相同ID的另一個表有另一列
- 9. PHP從MySQL表中選擇並保存在另一個表中
- 10. 選擇在另一個存在過濾表的所有行
- 11. 從一張表中選擇行數,根據另一個ID的次數
- 12. MySQL根據另一列中的值選擇具有相同列值的多行
- 13. MySQL:來自另一個表的一行中的多個ID
- 14. MySQL - 選擇行的id不存在作爲另一個表中的外鍵
- 15. MySQL選擇行不在另一個表中的行
- 16. Mysql - 創建一個存根表,保存在另一個表中的某些行的ID
- 17. 根據另一列中的值選擇不同的記錄,其中一個ID存在多行
- 18. MySQL的 - 需要選擇只在一個ID,也有另一列
- 19. 更新MySQL表中的多個行,基於另一個表中的id存在
- 20. MySQL - 從一個表中選擇多個行,其ID存儲在另一個表中
- 21. 添加所有線在另一個表中乘以另一行
- 22. 選擇一個表中的一行,而在另一張表
- 23. MySQL的 - 從表中選擇所有從另一個表中選擇相關行
- 24. 有沒有一種方法可以在Magento中進行搜索?
- 25. 有沒有一種方法可以在Mongoose中進行投影?
- 26. 刪除沒有ID存在於另一個表中的所有行
- 27. MySQL:刪除在另一個表中沒有匹配的行
- 28. 有沒有一種方法可以運行多個IntentService?
- 29. 如何選擇ID在一個表中存在的行,但不是另一個表中的行?
- 30. SAS:選擇ID在另一個表中的行
聽起來你需要使用JOIN - http://en.wikipedia.org/wiki/Join_(SQL) –