Antman: Warenkorb funktion

Beitrag lesen

Hallo Forum,

an eine Funktion wird werden 2 Arrays übergeben. Eines mit den Artekelnummern und das andere mit den dazugehörigen Anzahlen.

Wenn in der DB bereits die Artikel vorhanden sind, sollen dort die Anzahlen aktualisiert werdern. Das geschieht aber nicht. Ich bekomme immer mehrere Zeilen mit der gleichen Artikelnummer. Sieht jemand den Fehler ?

function updateCard($anzahl, $artikelnummer)
{
    for($i=0; $i <= count($anzahl); $i++) {//remove empty itemnumbers
        if(!empty($anzahl[$i])) {
         $anz[] = $anzahl[$i];
      $art[] = $artikelnummer[$i];
 }
    }
    $i = 0;
    foreach($art as $key => $value) {// create one array
        if (!empty($anz[$i])) {
            $in[$art[$i]] = $anz[$i];
       $i++;
 }
    }

## update item counts
        $itemNumbers = implode(',', $art);
$res =& $this->db->query("
    SELECT
        artikelnummer, anzahl
    FROM
        warenkorb
    WHERE
 sid = '".$this->sid."'
    AND
        artikelnummer
    IN
        (".$itemNumbers.")
");

$old = array();
if($res->numRows() > 1) {
    while($row =& $res->fetchRow(DB_FETCHMODE_ASSOC)) {
    $old[$row['artikelnummer']] = $row['anzahl'];
    $result =& $this->db->query("
        UPDATE
     warenkorb
        SET
     anzahl = '".$in[$row['artikelnummer']]."'
 WHERE
            sid = '".$this->sid."'
 AND
     artikelnummer = '".$row['artikelnummer']."'
    ");
}
       print_r($old);

Bin ratlos.