0

考虑以下内容:我有几个数组(比如说 2 个),我通过 post 得到,就像这样:

$_POST['date-pack'] :
$date_pack array {
[0] ==> "Juillet 2012"
[1] ==> "Avril 2012"
...

有了这个数组,我还有另一个数组,其 id 的顺序与日期相同:

$_POST['id_pack'] :
$id_pack array {
[0] ==> "6"
[1] ==> "8"
...

问题是,我想更新一个表,如下所示:

"UPDATE my_table 
SET date_service = *the_first_date_in_array*
WHERE id_service = *the first_id_in_array*"

然后对我的数组中的所有元素执行相同的操作(它们将具有相同数量的元素)。

我不知道是否可以对多个数组使用“foreach”并将我的查询放入循环中......?

在此先感谢您的帮助 !

4

3 回答 3

2

你可以试试这个:

<?php

foreach($_POST['date_pack'] as $k => $date) {
ExecuteQuery("UPDATE my_table SET date_service = " . $date . "
          WHERE id_service = ". $_POST['id_pack'][$k]);
}
于 2012-07-26T13:14:37.693 回答
2

为什么不使用类似的东西:

if(is_array($_POST['date_pack'])
{
    for($i=0;$i<count($_POST['date_pack'];$i++)
    {
    $sql='
    UPDATE my_table 
    SET date_service = '.$_POST['date_pack'][$i].'
    WHERE 
        id_service = '.$_POST['id_pack'][$i].'
        -- and your other conditions....
    ';
    }
}
else
{
    $sql='
    UPDATE my_table 
    SET date_service = '.$_POST['date_pack'].'
    WHERE 
        id_service = '.$_POST['id_pack'].'
        -- and your other conditions....
    ';
}
于 2012-07-26T13:15:08.643 回答
0

考虑到 $date_pack & $id_pack 是 2 个数组

for($i=0;$i<count($date_pack);$i++)
{
  $the_first_date_in_array = $date_pack[$i];
  $the_first_id_in_array = $id_pack[$i];
  $query = mysql_query("UPDATE my_table 
   SET date_service = ".$the_first_date_in_array."
   WHERE id_service = ".$the_first_id_in_array.");
}
于 2012-07-26T13:17:09.377 回答