我有多个 MYSQL SELECT 查询相互提供,第一个选择行 id,将它们放在一个数组中,第二个 SELECT 查询需要使用这些值 10,14 等,以访问其他表中的其余餐厅信息,我遇到的问题是第二个查询仅根据数组 14 中的最后一个值选择最后一个 phone_number。
$city= 'london';
$cuisine ='indian';
$sql=(" SELECT restaurant_id FROM restaurants WHERE city = '$city' AND cuisine= '$cuisine' ");
mysql_select_db('RESTAURANTS');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
foreach ($row as $key => $value) {
$i++; // increment $i by one each loop pass
echo "Cart Item $i ______ key = $key | value = $value<br />"; }
$sql1 = "SELECT phone_number FROM restaurants WHERE ($key) IN ($value)";
mysql_select_db('RESTAURANTS');
$retval1 = mysql_query( $sql1, $conn );
if(! $retval1 )
{
die('Could not get data: ' . mysql_error());
}
while($row1 = mysql_fetch_array($retval1, MYSQL_ASSOC))
foreach ($row1 as $k => $v) {
$ii++; // increment $i by one each loop pass
print_r ($v);
}
?>
输出
Cart Item 1 ______ key = restaurant_id | value = 10
Cart Item 2 ______ key = restaurant_id | value = 14
// the phone_number
444444444
只选择14而不是10的phone_number还为什么呢?我是否需要某种额外的函数来再次循环遍历数组,我尝试了 implode 和 mysql_value 函数,我尝试了我能想到的一切,感谢任何帮助。