2011-05-03 52 views
1

ingHey傢伙。

我想知道在while循環中使用$ _POST語句的正確語法。

我已經寫了這個。

$result_i = $_POST['result_i']; 
while ($result_i > 0){ 
     //Get Post Values 
     $driver = $_POST['driver_update_".$result_i."']; 
     $BookingID = $_POST['ID_".$result_i."']; 
     $Task_No_update = $_POST['Task_No_update_".$result_i."']; 

     //SQL 
     $driver_update = mysql_query("UPDATE booking SET driver = '$driver', TaskNo= '$Task_No_update' WHERE BookingID = '$BookingID' "); 
} 

我的問題是:

$_POST['driver_update_".$result_i."']; 

是否有可能寫出這樣$ _POSTS語句。

乾杯。

+0

包裹的一切作爲一個額外的想法,爲什麼不使用這個呢?它將在POST數組內部創建一個數組,您可以通過它進行foreach。將每個元素命名爲'name =「something []」'然後用它循環遍歷它'foreach($ _POST [「something」] as $ val)' – Ben 2011-05-03 03:42:42

回答

2

問題是你不能插入單引號字符串中的變量。

嘗試連接而不是

$_POST['driver_update_' . $result_i] 

,或者使用雙引號和可變外殼

$_POST["driver_update_{$result_i}"] 

http://www.php.net/manual/en/language.types.string.php


而且,看起來像一個無限循環的$result_i永遠不會改變。

+0

Cheers Phil Brown!我忘了添加$ result_i--; – 2011-05-03 03:41:33

1

你不需要在這裏的報價

$driver = $_POST["driver_update_" . $result_i]; 
$BookingID = $_POST["ID_" . $result_i]; 
$Task_No_update = $_POST["Task_No_update_" . $result_i]; 
+0

乾杯安德烈。剛剛與語法混淆。 – 2011-05-03 03:43:29