2012-10-07 136 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複製並粘貼您的解決方案並沒有直接與一些小修改,它確實解決了問題!非常感謝! :)(太低而不滿意抱歉) –