Formulaire avec un nombre de champs variable [Résolu]

Messages postés
2
Date d'inscription
mercredi 6 janvier 2010
Dernière intervention
27 mai 2010
- - Dernière réponse : nlsitdeo
Messages postés
2
Date d'inscription
mercredi 6 janvier 2010
Dernière intervention
27 mai 2010
- 27 mai 2010 à 21:26
Bonjour à tous,

J'ai un formulaire de commande, les produits disponibles sont extraits d'une table MySQL produits et ne sont pas toujours les mêmes (n'apparaissent que ceux qui sont oklot=1.

Mon problème est de générer automatiquement le nom du champs "qte" et qu'il suive sur la page de traitement en y associant la valeur des champs "id" et "prix" pour calculer les totaux.

  $select7 = "SELECT * FROM produits WHERE oklot='1' AND categorie='PPA' ORDER BY rproduit "; 
  $result7 mysql_query($select7,$connexion) or die ('Erreur : '.mysql_error() ); $total7 mysql_num_rows($result7); 
  if($total7) { 
  

  while ($row7 = mysql_fetch_array($result7)) {

   
  echo '<tr>'; 
  echo '<td>'.$row7["libelle"].' </td>'; 
  echo '<td>'.$row7["prix"].' </td>'; 	
  echo '<td> </td>';

$select8 = "SELECT * FROM produits WHERE oklot='1' AND categorie='PPB' ORDER BY rproduit "; 
  $result8 mysql_query($select8,$connexion) or die ('Erreur : '.mysql_error() ); $total8 mysql_num_rows($result8); 
  if($total8) { 
  

  while ($row8 = mysql_fetch_array($result8)) {

   
  echo '<tr>'; 
  echo '<td>'.$row8["libelle"].' </td>'; 
  echo '<td>'.$row8["prix"].' </td>'; 	
  echo '<td> </td>';

 

La seule solution que j'ai trouvé est tés loin d'être optimale puisque je fais ceci POUR CHAQUE PRODUIT !!! Il y en a 250 possible... :

$id1 = $_POST['id1'];
$qte1 = $_POST['qte1'];

$sql_pdt1"SELECT * FROM pdts WHERE id '$id1'";
        $query_pdt1= mysql_query($sql_pdt1);
        $res_pdt1 = mysql_fetch_array($query_pdt1);
 $prixu1= $res_pdt1['prixu'];
 $libelle1 = addslashes($res_pdt1['libelle']);
 $categorie1= $res_pdt1['categorie'];
 $montant1 = $qte1* $prixu1;

 if($qte5>'0')
   {     
$sql_insert1 = mysql_query("INSERT INTO panier VALUES ('', '$rclient', '$rlot', '$id1', '$qte1', '$prixu1', '$libelle1', '$montant1', '$categorie1');");   }


Le début de piste que j'ai essayé de suivre pour arranger ça est de mettre les valeurs en array mais je ne vois pas comment appliquer cela à un nombre de champs variable.

Merci de m'aider.

Nicolas
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
195
Date d'inscription
dimanche 18 mars 2007
Dernière intervention
11 juillet 2015
3
Merci
salut
voila une information qui pourra peu etre aider le html lui meme permet d'envoyer des tableaux donc tu poura juste faire

insi a la reception t'a juster a boucler sur $_POST['qte'] pour avoir les qunatites et pour id et prix tu faix la meme chose et l'ordre importera peut vu que la correspondance tu pourra la faire avec les index ce qui veut dire que $_POST['qte'][0]=>$_POST['prix'][0]=>$_POST['id'][0] etc ...

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 121 internautes nous ont dit merci ce mois-ci

Commenter la réponse de devil_may_cry
Messages postés
2
Date d'inscription
mercredi 6 janvier 2010
Dernière intervention
27 mai 2010
0
Merci
Me voilà débloqué...

Pour ceux que ça pourrait intéresser dans l'avenir voici ma boucle :

	for ($i = 0; $i < 1; $i++)
{
$id[] = $_POST['id'][$i];
$qte[] = $_POST['qte'][$i];
$prix[] = $_POST['prix'][$i];

foreach($_POST['id'] as $cle => $value)
{
echo ''.$id[$cle].', '.$qte[$cle].' , '.$prix[$cle].'  
'; }} 


Merci beaucoup devil_may_cry !!!
Commenter la réponse de nlsitdeo

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.