2015-12-15 3 views
-1

У меня есть этот массив:таблицы обновления с PHP массивами

Array ( [3] => 40000  [5] => 20300  [17] => 29000  
[4] => 35000  [6] => 59000  [54] =>  [34] =>  [7] => 113000  
[55] =>  [35] =>  [8] => 219000  [56] =>  [36] =>  [9] => 40600  ) 

массив keys = id

массив values = price

Я хочу таблицу обновления с этим значением и, когда цена есть, сохранить цену и когда цена не существует, сохраните «NULL»

Здесь мой код:

<form method="post"> 
    <?php 
    $qr2=$mysqli->query("SELECT `price`,`id` FROM `pricing`"); 
    while($row2=$qr2->fetch_object()){ 
    ?> 
    <input type="text" class="nw-prc" value="<?php echo $row2->price; ?>" name="price[<?php echo $row2->id; ?>]"> 
    <?php 
    } 
    ?> 
</form> 
<input type="submit" id="up" name="up" value="save"> 

<?php 
if (isset($_POST['up'])) { 
    $price=$_POST['price']; 
} 

$keys=array_keys($price); 
$values=array_values($price); 

foreach($keys as $k){ 
    foreach($values as $v){ 
     $mysqli->query("UPDATE `pricing` SET `price`='$v' WHERE `id`='$k'"); 
    } 

} 
?> 
+0

Вы можете 'print_r ($ _ POST)', чтобы увидеть, что результат мы получим? – bIgBoY

+0

** Какую ошибку вы получаете? ** –

ответ

2

Просто используйте

foreach($your_array as $key => $value){ 
    $mysqli->query("UPDATE `pricing` SET `price`='$value' WHERE `id`='$key'"); 
} 

вместо

foreach($keys as $k){ 
    foreach($values as $v){ 
     $mysqli->query("UPDATE `pricing` SET `price`='$v' WHERE `id`='$k'"); 
    } 

} 
Смежные вопросы