2012-10-07 135 views
1

所以basicly这是我的代码:使用取在foreach循环PHP数组

echo "<SELECT>"; 
foreach($arr_res as $op) { 
    $q3 = mysql_query(mysql_fetch_array("SELECT SL_TIME FROM SLOTS WHERE SL_ID='$op'")); 
    echo "<OPTION value=".$op.">".$q3."</OPTION>"; 
} 
echo "</SELECT>"; 

$arr_res是产生的array_diff的阵列。它只有数值是我的时隙中的SL_ID。我想显示SL_TIME,但是我得到的结果是$q3产生空的结果。为什么这不起作用?

回答

1

您不查询mysql_fetch_array。 Mysql_query给出你使用mysql_fetch_array的结果。所以正确的代码将是:

echo "<SELECT>"; 
foreach($arr_res as $op){ 
$result = mysql_query("SELECT SL_TIME FROM SLOTS WHERE SL_ID='$op'"); 
$q3=mysql_fetch_array($result); 
echo "<OPTION value=".$op.">".$q3."</OPTION>"; 
} 
echo "</SELECT>"; 

但是,$ q3将是一个数组,这可能不是你想要的。另外,如果使用PDO这样的抽象(http://www.php.net/manual/en/class.pdo.php),会更好。这将最大限度地提高性能并增加安全性。

+0

Allthough复制并粘贴您的解决方案并没有直接与一些小修改,它确实解决了问题!非常感谢! :)(太低而不满意抱歉) –