我有一个查询,得到一些颜色从我的数据库
$searchResults = mysql_query("SELECT customerRefId, seekingAddressSuburb,
seekingAddressPostcode, seekingAddressState FROM customer_seeking");
然后使用数据显示HTML表
?>
<table border="1">
<th>Customer Ref ID</th>
<th>Suburb</th>
<th>State</th>
<th>Postcode</th>
<?php
while($row=mysql_fetch_array($searchResults))
{
echo"<tr><td>$row[customerRefId]</td><td>$row[seekingAddressSuburb]</td><td>$row[seekingAddressPostcode]</td><td>$row[seekingAddressState]</td></tr>";
}
?>
</table>
接下来我需要做的是按照下面的方式进行另一个查询,但不是硬编码9,10
,我想使用$row[customerRefId]
为IN ()
我应该使用mysql_data_seek($searchResults,0);
返回到sql结果的顶部,还是我应该建立一个数组?
$searchResults2 = mysql_query("SELECT customerRefId, firstName, lastName, email, phone, mobile FROM customer_contact WHERE customerRefId IN (9,10)");
首先,正如每个人在评论中所说的那样,mysql_*函数已被弃用,您需要切换到mysqli。
要解决你的问题,你需要的是一个JOIN
。使用JOIN
,您可以同时从两个表中获取数据。下面是一个例子:
SELECT
customerRefId,
seekingAddressSuburb,
seekingAddressPostcode,
seekingAddressState,
firstName,
lastName,
email,
phone,
mobile
FROM
customer_seeking cs
LEFT JOIN
customer_contact cc ON cc.customerRefId = cs.customerRefId
每次循环遍历一行时,您将一次获得所有数据!