2011-05-03 35 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