1

我有一个查询从我的数据库中获取了一些列

$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]forIN ()

我应该使用mysql_data_seek($searchResults,0);返回到 sql 结果的顶部还是应该构建一个数组?

$searchResults2 = mysql_query("SELECT customerRefId, firstName, lastName, email, phone, mobile FROM customer_contact WHERE customerRefId IN (9,10)");
4

1 回答 1

1

首先,正如每个人在评论中所说的那样,不推荐使用 mysql_* 函数,您需要切换到 mysqli。

要解决您的问题,您需要一个JOIN. 使用 aJOIN您可以从两个表的组合中获取数据。这是一个例子:

SELECT 
    customerRefId,
    seekingAddressSuburb, 
    seekingAddressPostcode, 
    seekingAddressState,
    firstName,
    lastName,
    email,
    phone,
    mobile
FROM 
    customer_seeking cs
LEFT JOIN
    customer_contact cc ON cc.customerRefId = cs.customerRefId

每次循环遍历一行时,您将一次获得所有数据!

于 2013-06-09T04:30:07.030 回答