• imprimer
  • aide

Forum de discussions « PHP - SQL »

Retrouvez les publications relatives à ces discussions dans nos rubriques PHP, SQL.

pb requete update et select

liste des forums liste des discussions Participer à la discussion

Photo de alban83 Message publié le jeudi 18 février 2010 - 13h59 par alban83.
Bonjour,

Je tourne en rond depuis plus d'1 semaine, sur un problème qui doit etre très simple en fait.

J'ai un fichier php de notification de paiement pour Paypal avec l'une des fonction suivante:
--------------------


Code:
if ($txn_type == "cart"){
$strQuery = "insert into paypal_payment_info(paymentstatus,buyer_email,firstname,lastname,street,address_name,city,state,zipcode,contact_phone,country,address_country_code,mc_gross,mc_handling,mc_fee,memo,paymenttype,paymentdate,txnid,pendingreason,reasoncode,tax,datecreation) values ('".$payment_status."','".$payer_email."','".$first_name."','".$last_name."','".$address_street."','".$address_name."','".$address_city."','".$address_state."','".$address_zip."','".$contact_phone."','".$address_country."','".$address_country_code."','".$mc_gross."','".$mc_handling."','".$mc_fee."','".$memo."','".$payment_type."','".$payment_date."','".$txn_id."','".$pending_reason."','".$reason_code."','".$tax."','".$fecha."')";

$result = mysql_query($strQuery) or die("Cart - paypal_payment_info, Query failed:<br>" . mysql_error() . "<br>" . mysql_errno());
for ($i = 1; $i <= $num_cart_items; $i++) {
$itemname = "item_name".$i;
$mcgross = "mc_gross_".$i;
$itemnumber = "item_number".$i;
$on0 = "option_name1_".$i;
$os0 = "option_selection1_".$i;
$on1 = "option_name2_".$i;
$os1 = "option_selection2_".$i;
$on2 = "option_name3_".$i;
$os2 = "option_selection3_".$i;
$on3 = "option_name4_".$i;
$os3 = "option_selection4_".$i;
$quantity = "quantity".$i;

$struery = "insert into paypal_cart_info(txnid,itemnumber,itemname,mcgross,os0,on0,os1,on1,os2,on2,os3,on3,quantity,invoice,custom) values ('".$txn_id."','".$_POST[$itemnumber]."','".$_POST[$itemname]."','".$_POST[$mcgross]."','".$_POST[$os0]."','".$_POST[$on0]."','".$_POST[$os1]."','".$_POST[$on1]."','".$_POST[$os2]."','".$_POST[$on2]."','".$_POST[$os3]."','".$_POST[$on3]."','".$_POST[$quantity]."','".$invoice."','".$custom."')";
$result = mysql_query($struery) or die("Cart - paypal_cart_info, Query failed:<br>" . mysql_error() . "<br>" . mysql_errno());----------------------


qui elle fonctionne.

Or je voudrais ajouter en plus de cet INSERT, 2 autres fonctions:



Code:
$sql1 = "insert into tab_test(id,test,nombre) values ('".$_POST[$itemnumber]."','".$_POST[$os0]."','".$_POST[$quantity]."')";
$result1 = mysql_query($sql1) or die("Erreur - tab_test, Query failed:<br>" . mysql_error() . "<br>" . mysql_errno());



$sql2="UPDATE prod_valeur SET valeur_stock=8 WHERE id_prod=".$_POST[$itemnumber]." AND valeur=".$_POST[$os0]." ";
$result2 = mysql_query($sql2) or die("Erreur - prod_valeur, Query failed:<br>" . mysql_error() . "<br>" . mysql_errno());---------------------

et cest la que ca bloque... la premiere fonctionne alors que la seconde non (jai bien vérifier mes champs de table, aucun probleme avec ceux-ci....table prod_valeur avec les champs valeur_stock, id_prod, et valeur)


DONC

S'agit il d'un problème de syntaxe pour le UPDATE ?

je vais devenir fou...
Photo de zarathoustra06 Message publié le dimanche 21 février 2010 - 11h08 par zarathoustra06. 06240
si j bien compris tu vx changer valeur_stock. si id-prod est une clé prémaire c'est pas la peine de rajouter le AND qui suit.
essai aussi de maitre $var=.$_POST[$itemnumber]. est de travailler avec $var à l'interieur de la requete
Photo de alban83 Message publié le lundi 22 février 2010 - 16h05 par alban83.
merci pour ton aide, mais il s'agit d'un probleme de syntaxe...

la requete exacte est:
$sql2="UPDATE prod_valeur SET valeur_stock=$newstock WHERE id_prod='".$_POST[$itemnumber]."' AND valeur='".$_POST[$on0]."' ";
$result2 = mysql_query($sql2) or die("Erreur - prod_valeur, Query failed:<br>" . mysql_error() . "<br>" . mysql_errno());


en revanche je souhaiterais compliquer la chose en récuperant tout dabord ma valeur actuelle " valeur_stock "
et en lui soustrayant 1 ... avec un select je suppose, en fonction toujours du $itemnumber et $on0

comment faire, se doit etre un truc dans le genre, mais encore une fois, la syntaxe ou la prog n'est pas bonne.

Quelquun ?

-----------------------------

$sql="SELECT valeur_stock FROM prod_valeur WHERE id_prod='".$_POST[$itemnumber]."' AND valeur='".$_POST[$on0]."' ";
$result = mysql_query($sql) or die(mysql_error());
while ($row = mysql_fetch_array($result)
{
$stock = $row['valeur_stock'];

$newstock=$stock-1;

$sql2="UPDATE prod_valeur SET valeur_stock=$newstock WHERE id_prod='".$_POST[$itemnumber]."' AND valeur='".$_POST[$on0]."' ";
$result2 = mysql_query($sql2) or die("Erreur - prod_valeur, Query failed:<br>" . mysql_error() . "<br>" . mysql_errno());
}

liste des forums liste des discussions Participer à la discussion

Vous devez obligatoirement vous identifier en tant que membre pour participer à cette discussion.

ACCÉS COMMUNAUTÉ

Rejoignez ALL HTML

Publiez vos articles, actualités, communiqués ... Donnez votre avis, partagez votre réseau, rencontrez d'autres membres et participez à la vie de la communauté.

Les 5 dernières discussions