tableau de session / foreach[resolu]

tableau de session / foreach[resolu] - PHP - Programmation

Marsh Posté le 16-11-2004 à 21:36:13    

bonjour,  
j'ai quelques petits problemes avec un caddie
les articles doivent s'inserer dans ma bd.
mais le soucis C qu'il le fait uniquement si il y a 1 seul article uniquement(meme si il y a plusieurs articles avec chacun comme quantité =>1 ca marche pas non plus)

Code :
  1. foreach($_SESSION['caddy'] as $ref => $quantites)
  2.   {
  3.     $detail = recuperer_article_details($ref);
  4.     $result = mysql_query($query);
  5.     $query = "insert into commande values
  6.               ('$commande_id', '$ref', ".$detail['prix'].", $quantites)";
  7.     $result = mysql_query($query);
  8.     if(!$result)
  9.       return false;
  10.   }

 
si
[caddy] => Array ( [AZE] => 1 )
ca marche :)  
 
mais si
[caddy] => Array ( [AZE] => 3 )
ca marche po :(  
 
et si
[caddy] => Array ( [AZE] => 1 [RETFC] => 1 )
ca marche po :(
 
d'ou peut venir mon probleme :??:  
merci de votre aide


Message édité par attentio le 24-03-2005 à 20:54:22

---------------
L'ordinateur a de la mémoire mais aucun souvenir ...
Reply

Marsh Posté le 16-11-2004 à 21:36:13   

Reply

Marsh Posté le 16-11-2004 à 23:05:53    

Déjà y'a un $result = mysql_query($query) en trop apparemment, à moins que t'exécutes un $query que t'as défini avant la boucle.
 
Ensuite, j'avoue que j'ai pas longuement réfléchi à ton problème, mais dans ce cas il est utile de savoir faire un peu de debug. Rajoute des echo pour vérifier combien de fois il passe dans la boucle, rajoute "or die(mysql_error())" après ton mysql_query, etc.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 17-11-2004 à 17:55:35    

j'ai fais des tests tout marche bien  :pt1cable:  
le probleme semblerait venir de plus haut:
au dessus de mon foreach, j'ai ceci :

Code :
  1. ...
  2.   $resultat_client = mysql_query($req_client);
  3.   if(mysql_numrows($resultat_client)>0)
  4.     $commande_id = mysql_result($resultat_client, 0, 'commande_id');
  5.   else
  6.     return false;
  7.   foreach($_SESSION['caddy'] as $ref => $quantites)
  8.   {
  9.     $detail = recuperer_article_details($ref);
  10.     $result = mysql_query($query);
  11.     $query = "insert into commande values
  12.               ('$commande_id', '$ref', ".$detail['prix'].", $quantites)";
  13.     $result = mysql_query($query);
  14.     if(!$result)
  15.       return false;
  16.   }
  17. return $commande_id;
  18. ...


si je mets un echo'test';en desus de $resultat_client
il affiche bien test
mais si je le mets en dessus de return false;
il ne s'affiche plus ... comprends pas  :??:  
est ce que le probleme peu venir de $commande_id????????
 
merci infiniment de votre aide


Message édité par attentio le 17-11-2004 à 17:58:48
Reply

Marsh Posté le 17-11-2004 à 21:42:09    

J'ai rien compris.
 
"en desus" c'est "en dessous" ou "au dessus" ?  
Y'a deux lignes avec $resultat_client, c'est laquelle ?
 
Soit un peu plus clair.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 18-11-2004 à 01:49:25    

C pas grave ... tu as resolu mon probleme avec le mysql_fetch_assoc ... va savoir pourquoi, maintenant ca marche du feu de dieu
merci encore mille fois :bounce:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed