0

次のことを考慮してください: 私はいくつかの配列 (2 としましょう) を持っています。

$_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 に答える