affiliation et paypal Mysql

alf 233
Invité n'ayant pas de compte PHPfrance

28 janv. 2015, 21:42

bonjour,

je suis en train de créer un systeme d'affiiation assez complexe pour un site

en fait le systeme d'affiliation reverse sur 5 niveaux d'affilié

voici mon code d'enregistrement du paiement
$sql1 = mysql_query("SELECT client FROM factures WHERE num_fact='".$_GET['num_fact']."'") or die (mysql_error());
list($client) = mysql_fetch_row($sql1);

$sql2 = mysql_query("SELECT ref1,ref2,ref3,ref4,ref5 FROM client WHERE num_client='".$client."'") or die (mysql_error());
list($ref1,$ref2,$ref3,$ref4,$ref5) = mysql_fetch_row($sql2);
	
	
$sql2 = mysql_query("SELECT mail_paypal FROM client WHERE pseudo='".$ref1."'") or die (mysql_error());
list($mail_ref1) = mysql_fetch_row($sql2);

$sql2 = mysql_query("SELECT mail_paypal FROM client WHERE pseudo='".$ref2."'") or die (mysql_error());
list($mail_ref2) = mysql_fetch_row($sql2);

$sql2 = mysql_query("SELECT mail_paypal FROM client WHERE pseudo='".$ref3."'") or die (mysql_error());
list($mail_ref3) = mysql_fetch_row($sql2);

$sql2 = mysql_query("SELECT mail_paypal FROM client WHERE pseudo='".$ref4."'") or die (mysql_error());
list($mail_ref4) = mysql_fetch_row($sql2);

$sql2 = mysql_query("SELECT mail_paypal FROM client WHERE pseudo='".$ref5."'") or die (mysql_error());
list($mail_ref5) = mysql_fetch_row($sql2);

$transactionid1 = $kArray["paymentInfoList.paymentInfo(1).transactionId"];
	$transactionid2 = $kArray["paymentInfoList.paymentInfo(2).transactionId"];
	$transactionid3 = $kArray["paymentInfoList.paymentInfo(3).transactionId"];
	$transactionid4 = $kArray["paymentInfoList.paymentInfo(4).transactionId"];
	$transactionid5 = $kArray["paymentInfoList.paymentInfo(5).transactionId"];
	$amount = $kArray["paymentInfoList.paymentInfo(0).receiver.amount"];
	$amount_ref1 = $kArray["paymentInfoList.paymentInfo(1).receiver.amount"];
	$amount_ref2 = $kArray["paymentInfoList.paymentInfo(2).receiver.amount"];
	$amount_ref3 = $kArray["paymentInfoList.paymentInfo(3).receiver.amount"];
	$amount_ref4 = $kArray["paymentInfoList.paymentInfo(4).receiver.amount"];
	$amount_ref5 = $kArray["paymentInfoList.paymentInfo(5).receiver.amount"];

$sql12 = "INSERT INTO transaction (pseudo,motif,montant,type,date,niv,paykey,transactionId) VALUES('".$ref1."','$description','$amount_ref1','credit','$date','1','".$payKey."','$$transactionid1')"; 
$sql13 = "INSERT INTO transaction (pseudo,motif,montant,type,date,niv,paykey,transactionId) VALUES('".$ref2."','$description','$amount_ref2','credit','$date','2','".$payKey."','$$transactionid2')"; 
$sql14 = "INSERT INTO transaction (pseudo,motif,montant,type,date,niv,paykey,transactionId) VALUES('".$ref3."','$description','$amount_ref3','credit','$date','3','".$payKey."','$$transactionid3')"; 
$sql15 = "INSERT INTO transaction (pseudo,motif,montant,type,date,niv,paykey,transactionId) VALUES('".$ref4."','$description','$amount_ref4','credit','$date','4','".$payKey."','$$transactionid4')"; 
$sql16 = "INSERT INTO transaction (pseudo,motif,montant,type,date,niv,paykey,transactionId) VALUES('".$ref5."','$description','$amount_ref5','credit','$date','5','".$payKey."','$$transactionid5')"; 




if (!empty($ref1))
{
mysql_query($sql12) or die('Erreur SQL !'.$sql12.'<br>'.mysql_error());
}

if (!empty($ref2))
{
mysql_query($sql13) or die('Erreur SQL !'.$sql13.'<br>'.mysql_error());
}

if (!empty($ref3))
{
mysql_query($sql14) or die('Erreur SQL !'.$sql14.'<br>'.mysql_error());
}

if (!empty($ref4))
{
mysql_query($sql15) or die('Erreur SQL !'.$sql15.'<br>'.mysql_error());
}

if (!empty($ref5))
{
mysql_query($sql16) or die('Erreur SQL !'.$sql16.'<br>'.mysql_error());
dans mon teste les enregistrement 1 et 2 ne pose pas de soucis

par contre l'enregistrement sql14 pose soucis car le client en question n'as pas enregistré de mail paypal et donc à partir de la les enregistrement "TransactionID" devrais se décaler d'une ligne et la je ne trouve pas la solution

j'ai essayé de travailler avec les Array et foreach mais je n'arrive pas à décaler les transactions id si quelq'uns avais une solution

merci par avance

alf233
Invité n'ayant pas de compte PHPfrance

29 janv. 2015, 21:14

bonsoir,

bon en fait j'ai rien de trouvé de spécial mais ça regle une partie de mon soucis

je recupere les id de transactoin paypal qui correspondent aux paiements

$transactionid2
$transactionid3
$transactionid4
$transactionid5
$transactionid1

pour les testes je recupes les infos suivantes dans ma bdd

ref1 avec mail_ref1 vide
ref2 avec mail_ref2 renseigné
ref3 avec mail_ref3 non renseigné
reg4 avec mail_ref4 renseigné
ref5 est vide


j'effectue les verifications suivantes dans mon script
if (empty($mail_ref1))
{
$transactionid2 = $transactionid1;
$transactionid3 = $transactionid1;
$transactionid4 = $transactionid1;
$transactionid5 = $transactionid1;
$transactionid1 = "";
}



if (empty($mail_ref2))
{
$transactionid3 = $transactionid2;
$transactionid4 = $transactionid3;
$transactionid5 = $transactionid4;
$transactionid2 = "";

}


if (empty($mail_ref3))
{
$transactionid4 = $transactionid3;
$transactionid5 = $transactionid4;
$transactionid3 = "";

}



if (empty($mail_ref4))
{
$transactionid5 = $transactionid4;
$transactionid4 = "";

}


if (empty($mail_ref5))
{
$transactionid5 = "";
}

donc à ce niveau

ref1 n'as pas d'id de transaction
ref2 as un id de transaction
ref3 n'as pas d'id de transaction
ref4 as un id de transaction

et mon soucis c'est que ref2 et ref 4 ont le même id de transaction

qui est tout simplement l'id de transaction de ref2

et l'id de transaction de ref4 n'est pas du tout enregistré