0
Array
(
[pid] => Array
    (
        [0] => 2
        [1] => 3
    )

[price] => Array
    (
        [0] => 20
        [1] => 20
    )

[qty] => Array
    (
        [0] => 2
        [1] => 1
    )

)

我从一些处理中得到了上述数组的结果。有了这个我需要更新到下表中的数据库

pid price qty
2   20    2
3   20    1 
4

4 回答 4

1
$i = 0;
while( $i < count( $YourArray['pid']) ) {
    $query = "INSERT INTO `tableName`(`pid`, `price`, `qty`) VALUES( ?, ?, ? )";
    $stmt = $con->prepare( $query );
    $stmt->execute(
        array(
            $YourArray['pid'][$i],
            $YourArray['price'][$i],
            $YourArray['qty'][$i]
        )
    );
    $i++;
}

其中,我使用了的插入方法。

于 2013-03-27T12:02:19.707 回答
0
for(i=0;i<amount;i++){
    echo $array['pid'][i];
    echo $array['price'][i];
    echo $array['qty'][i]; 
}

其中amount 必须是count您拥有的行数

于 2013-03-27T12:00:13.277 回答
0

这是一种错误的做法,我会使用索引数组,然后构建一个 foreach 循环来分别处理每个 1,例如:

$values = array();
$values[] = array(
                  'pid' => 2,
                  'price' => 20,
                  'qty' => 2
                 );

$values[] = array(
                  'pid' => 3,
                  'price' => 20,
                  'qty' => 1
                  );

然后从这里构建一个foreach循环并在那里运行每个查询

foreach ($values as $value) {
   $query = "insert into blah 
              set pid = " . $value['pid'] . ",
              price = " . $value['price'] . ",
              qty = " . $value['qty'] . ";";

   mysql_query($query);
}
于 2013-03-27T12:14:41.517 回答
0

尝试这个 :

$array = array("pid" => array(2,3),"price" => array(20,20),"qty" => array(2,1));
array_unshift($array, null);
$res   = call_user_func_array('array_map', $array);

echo "<pre>";
print_r($res);

输出 :

Array
(
    [0] => Array
        (
            [0] => 2
            [1] => 20
            [2] => 2
        )

    [1] => Array
        (
            [0] => 3
            [1] => 20
            [2] => 1
        )

)

循环此数组并添加到 DB - 这样您就可以在 DB 中添加两个条目

于 2013-03-27T12:01:26.467 回答