1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
| //TRANSACTION
$createcmd = "BEGIN TRANSACTION CREATION_COMMANDE"; //On démarre une transaction et on lui donne un nom
$createcmd .= "begin";
$createcmd .= "SP_CREER_COMMANDE '$idclient', '$datecmd', '$tot', '$liv' ";
//$rs=odbc_do($connection,$createcmd);
if ($createcmd)
{
// recupération de l'id de la commande par rapport
// au numéro client et à la dernière de ses commandes
$riq = "SP_RECUPCMD_COMMANDE '$idclient' ";
$rik=odbc_do($connection,$riq);
odbc_fetch_into($rik,$fiis);
$NumCd=$fiis[0];
foreach ($panier as $valeur=>$cde)
{
$sql15 = "SP_INFOJEU_JEUX_VIDEO '$valeur' ";
$req15=odbc_do($connection,$sql15);
// recupération du stck d'un produit
$stck=odbc_result($req15,'jv_qte');
$nbVente=odbc_result($req15,'jv_nbvente');
$newNbVente= $nbVente + $cde;
$newstock = $stck - $cde;
//mise à jour du stock
$udstock= "SP_MAJSTOCK_JEUX_VIDEO '$newstock', '$newNbVente', '$valeur' ";
$rudstock=odbc_do($connection,$udstock);
if($rudstock)
{
$createcmd.="SP_CREERARTICLECMD_LIGNECOMMANDE '$NumCd', '$valeur', '$cde' ";
$rsILS=odbc_do($connection,$createcmd);
if ($rsILS)
{
$createcmd .= " COMMIT TRANSACTION CREATION_COMMANDE "; //On commit la transaction
echo "<SCRIPT LANGUAGE='JavaScript'>alert('Votre commande à bien été prise en compte.');</SCRIPT> ";
echo " <h3 align=center>Votre commande à bien été prise en compte.<br/> <a href=ResumerCommande.php class=type1> Voir le résumer de la commande</a></h3>";
echo '<script language="javascript">document.location.href = "ResumerCommande.php"</script>';
$_SESSION['RefCmd']= $NumCd;
unset($_SESSION['panier']);
}// si il y a eu des erreurs
else
{
echo 'Une erreure est survenue';
$createcmd .= " ROLLBACK TRANSACTION CREATION_COMMANDE "; //On annule tous les changements de cette transaction
}
//FIN TRANSACTION
}
else
{
echo 'Une erreure est survenue';
}
}
} |
Partager