Hi!
folgendes Problem:
Die Page ist so eine Art Webshop - der Kunde sucht sich die Artikel aus, kann sie stornieren (einzelne und alle), kann Favoriten hinzufügen und nach Artikeln suchen, ausserdem kann er bis 1 Woche im Vorraus bestellen. Wenn er nun aber 2 Artikel für eine Woche aussucht und diese mit dem Button "alle stornieren" stornieren will, wird der Eintrag "Vorbestellt" welcher in der DB steht nicht richtig upgedatet.. ich weiss zwar wieso aber nicht wie ich es lösen soll
also bitte helft mir *g*
Hier der Code:
<?php
session_start();
require('auth.php');
require('connect.php');
$sql= ociparse($c,"select b.id,l.vorbestellt,b.bestnr from bestellungen b, lager l where b.fixiert is Null and b.kurzz = '" . $_SESSION['kuerzel'] ."' and b.bestnr=l.bestnr");
ociexecute($sql);
while($res=oci_fetch_array($sql))
{
$vorbestellt = $res['VORBESTELLT'] - 1;
$sql0= ociparse($c,"update lager set vorbestellt = " . $vorbestellt . " where bestnr = '". $res['BESTNR'] ."'");
ociexecute($sql0);
$sql1= ociparse($c,"delete from bestellungen where fixiert is Null and ID = '".$res['ID']."' and kurzz = '".$_SESSION['kuerzel'] ."'");
ociexecute($sql1);
ocicommit($c);
}
//header('location:bestellungen.php');
?>
Die beiden Sätze werden zwar aus der DB gelöscht, aber eben von vorbestellt wird nicht 2 abgezogen sondern nur 1 weil ja das erste Select (ausserhalb der while schleife) nur einmal ausgeführt wird und dadurch auch wenn das update schon einmal durchlief noch immer 2 als Wert in Vorbestellt enthält.
Ich danke schonmal fuer die Hilfe!