Ik heb een orderbewerk script, als iemand de voorraad van een besteld aantal veranderd moet de voorraad natuurlijk ook aangepast worden, net als bij een gewone bestelling.
Bij een gewone bestelling (die in ORDERS komt) wordt de voorraad in PRODUCT verlaagd dmv dit:
$query1 = "UPDATE PRODUCTEN SET VOORRAAD=VOORRAAD-".$AANTAL1." WHERE PRODUCTNR=".$PRODUCTNR1."";
mysql_query($query1) or die (mysql_error());}
Maar nu wil ik dus ook de voorraad aanpassen bij het bewerken van een order. Ik wil dus eigenlijk eerst het veld VOORRAAD in ORDERS verhogen met het aantal dat al ingevuld was en dan verlagen met de nieuwe waarde.
Daarvoor heb ik dit geschreven:
$sql = "SELECT VOORRAAD FROM PRODUCTEN WHERE PRODUCTNR=$PRODUCTNR1";
$res = mysql_query($sql) or die(mysql_error());
$rij = mysql_fetch_array($res);
$sqll = "SELECT AANTAL1 FROM ORDERS WHERE ORDERNR='".$_GET['ORDERNR']."'";
$res = mysql_query($sqll) or die(mysql_error());
$rij = mysql_fetch_array($res);
$aanpasvoorraad1 = "UPDATE PRODUCTEN SET VOORRAAD=$rij['VOORRAAD']+rij['AANTAL1']-['AANTAL1']";
$resultaanpas1 = mysql_query($aanpasvoorraad1) or die( mysql_error());
Dit voeg ik toe tussen:
if($_SERVER['REQUEST_METHOD'] == "POST") {
if($_POST['MEDNR'] != "" || $_POST['KLANTNR'] != ""){
en
$query = "UPDATE ORDERS SET MEDNR='".addslashes($_POST['MEDNR'])."', KLANTNR='".addslashes($_POST['KLANTNR'])."', LEVERDATUM='".addslashes($_POST['LEVERDATUM'])."', KORTING='".addslashes($_POST['KORTING'])."', OPMERKINGEN='".addslashes($_POST['OPMERKINGEN'])."' , PRODUCTNR1='".addslashes($_POST['PRODUCTNR1'])."', AANTAL1='".addslashes($_POST['AANTAL1'])."' WHERE ORDERNR='".$_GET['ORDERNR']."'";
$result = mysql_query($query) or die( mysql_error());
Gek genoeg wordt $query wel uitgevoerd maar veranderd er niets bij voorraad
1.065 views