Insert dans plusieurs tables suivant les valeurs

Résolu/Fermé
typiac Messages postés 92 Date d'inscription lundi 9 mai 2011 Statut Membre Dernière intervention 14 janvier 2015 - 17 déc. 2012 à 01:50
typiac Messages postés 92 Date d'inscription lundi 9 mai 2011 Statut Membre Dernière intervention 14 janvier 2015 - 17 déc. 2012 à 04:11
Bonjour,

J'ai une question relative à l'organisation. Je suis en train de terminer un script IPN pour la facturation paypal qui marche à peu près correctement.

Voilà le principe: Un client peut consommer 3 types de prix pour le même objet que j'appelle et organise de la façon suivante:

-1 Prix X = 100€ --> valeur 100€
-2 Prix Y = 300€ --> valeur 400€
-3 Prix Z = 800€ --> valeur 1000€

Les prix X et Z sont donc en fait des tarifs discount:

X = 1 objet
Y = 3*X pour le prix mais avec une valeur de 4*X
Z = 8*X pour le prix mais avec une valeur de 10*X


Donc, je dois scripter pour que suivant le montant ou l'id_item ou le product_name, une table crédit soit incrémentée de cette façon:

Achat X = insert 100 into credit from table_credit
achat Y = insert 400 into credit from table_credit
achat Z = insert 1000 into credit from table_credit

Je pensais le faire dans le script Ipn.php mais je ne suis pas sûr que ça soit le mieux.

Quel est votre avis?


2 réponses

typiac Messages postés 92 Date d'inscription lundi 9 mai 2011 Statut Membre Dernière intervention 14 janvier 2015 1
Modifié par typiac le 17/12/2012 à 03:54
Bon, je commence à traiter ce problème par une première méthode:
actualiser une colonne "credit" dans une table "user" suite à un paiement validé par paypal comprenant:

mc_gross --> le prix
first_name --> prénom
last_name --> nom

J'ai conscience que mon système ne fonctionne pas avec des homonymes mais c'est la logique pour le moment qui compte hein?! ^^


Bon, voici le code:
//////////////////////////////////////////// 
// Ici, j'insère dans une 1ère table, toutes les données de la transaction renvoyées // par paypal 
//////////////////////////////////////////// 
$struery = "insert into payypal_cart_info    

(txnid,itemnumber,itemname,os0,on0,os1,on1,quantity,invoice,custom)  

values ('".$txn_id."','".$_POST[$itemnumber]."','".$_POST[$itemname]."','".$_POST[$on0]."','".$_POST[$os0]."','".$_POST[$on1]."','".$_POST[$os1]."','".$_POST[$quantity]."','".$invoice."','".$custom."')"; 

$result = mysql_query($struery) or die("Cart - paypal_cart_info, Query failed:<br>" . mysql_error() . "<br>" . mysql_errno()); 
    
//////////////////////////////////////////// 
//CENTRE DU PROBLEME: j'ajoute une fonction qui actualise la colonne "credit" dans //la table "user" 
//////////////////////////////////////////// 

$sto = "UPDATE user SET credit='".$mc_gross."' WHERE nom='".$last_name."' AND prenom='".$first_name."' LIMIT 1"; 

$result = mysql_query($sto) or die("Cart - paypal_cart_info, Query failed:<br>" . mysql_error() . "<br>" . mysql_errno()); 


Ca ne fonctionne pas. Quel est le problème?
0
typiac Messages postés 92 Date d'inscription lundi 9 mai 2011 Statut Membre Dernière intervention 14 janvier 2015 1
17 déc. 2012 à 04:11
J'ai trouvé la solution, il manquait juste les parenthèses! Il faut faire comme ceci:

$sto = "UPDATE user SET credit=('".$mc_gross."') WHERE nom=('".$last_name."') AND prenom=('".$first_name."') LIMIT 1";
0