Aktualizacja rekordów w bazie


(Aglasek) #1

Witam,

mam taką strukturę:

Array

(

    [498] => Array

        (

            [id_order_detail] => 498

            [id_order] => 319

            [product_id] => 17604

            [product_price_wt] => 9.64

        )


    [499] => Array

        (

            [id_order_detail] => 499

            [id_order] => 319

            [product_id] => 18115

            [product_price_wt] => 0.67


        )


)

oczywiście może być tego wiecej - dłuższa lista. i teraz chciałbym zaktualizować ceny w bazie czyli [product_price_wt] tylko nie zabardzo wiem jak to zrobić. Chodzi mi o coś takiego, że zaktualizuj wszystkie ceny gdzie id zamowienia = id_order i id produktu = product_id. tylko jak to zrobić? w pętli czy jak? może coś takiego: ? nie wiem.

while($order->product_id)

     //update;

(Damgora) #2

Najzwyczajniej wykonaj zapytanie w pętli. Jeżeli dobrze zrozumiałem to chyba mogłoby to wyglądać tak:

$stm = $pdo->prepare('UPDATE orders SET product_price_wt=:product_price_wt WHERE id_order=:id_order AND product_id=:product_id');try {    $pdo-beginTransaction();    foreach ($orders as $order)        $stm-execute(array(            ':product_price_wt' = $order['product_price_wt'],            ':id_order' = $order['id_order'],            ':product_id' = $order['product_id']        ));    $pdo-commit(); catch (PDOException $e) {    $pdo-rollBack();[/code]