Récupérer la valeur de select

angela_gim Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -  
angela_gim Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -
Bonsoir,
j'ai besoin de votre aide je suis entrain de développer une application web j'ai fait presque tout mais j'avais un problème
je veux de récupérer la valeur(quantité) de chaque produit j’utilise un tableau ayant comme champs (image, description, prix ,quantité) mais mon code il récupéré seulement la valeur de 1er produit
	function ContinueAchat(){
	$connexion=connexion();
	$rq="select * from commande where nomPrenomClient='".$_SESSION["nomPrenomClient"]."'";
	$res=$connexion->query($rq);
	while($resultat=$res->fetch()){
		$id=$resultat['id'];
		foreach($_SESSION['produits'] as $unIdProduit){	
	       $quan=$_POST['quantite'];  	
		$req1="insert into contenir values ('".$id."','".$unIdProduit."','".$quan."')";
		$conte=$connexion->query($req1);
		//echo $req1;
		$req3="select * from produit where id = '".$unIdProduit."'";
	    $rsProduit = $connexion->query($req3);
        $lgProduit =$rsProduit->fetch();
	    $quantitestockage=$lgProduit['quantitestockage'];
	    $idProduit=$lgProduit['id'];
	    $resultat=$quantitestockage-$quan;
	    $req4="update produit set quantitestockage='".$resultat."' where id='".$idProduit."'";
	    $resultat=$connexion->exec($req4);
		
		}
		
	}
	}




		<table>
<?php

foreach( $lesProduits as $unProduit) 
{
	$id = $unProduit['id'];
	$prix=$unProduit['prix'];
	$description = $unProduit['description'];
	$image = $unProduit['image'];
	$[/contents/542-qu-est-ce-qu-une-url url] ="<a style='color:#D35400; text-shadow:#E59866 1px 1px 0px' href=index.php?uc=gerePanier&produit=$id&action=SupprimerUnProduit><[/contents/391-fichier-img img] src='views/images/trash.png' alt='supprimer' width='20px' /> </a>";
	 
	 ?>
<th>produit</th> <th>prix</th><th>quantite</th>
<tr>
<td >
<p>
<?php <img width='100' src=".$image." alt=image />"?> <br/><br></p></td>
<td style='color:#6E2C00; width:200px' border='2'><strong><?php echo  "$prix";?></td>
<td>  <form method='POST' action="index.php?uc=gerePanier&action=ContinueAchat">    <[/contents/1068-sql-commande-select select] name="quantite"> 

 <option <?php if(isset($_POST["quantite"]) && $_POST["quantite"] == 1) echo "selected";  ?> selected> 1</option> 
  <option  <?php if(isset($_POST["quantite"]) && $_POST["quantite"] == 2) echo "selected"; ?>  > 2</option>
  <option   <?php if(isset($_POST["quantite"]) && $_POST["quantite"] == 3) echo "selected"; ?> > 3</option>
   <option  <?php if(isset($_POST["quantite"]) && $_POST["quantite"] == 4) echo "selected"; ?> >4</option>
   <option  <?php if(isset($_POST["quantite"]) && $_POST["quantite"] == 5) echo "selected"; ?> >5</option>
   <option  <?php if(isset($_POST["quantite"]) && $_POST["quantite"]== 6) echo "selected"; ?> >6</option>
  <option  <?php if(isset($_POST["quantite"]) && $_POST["quantite"] == 7) echo "selected"; ?> >7</option>
<option  <?php if(isset($_POST["quantite"]) && $_POST["quantite"] == 8) echo "selected"; ?> >8</option> 
<option  <?php if(isset($_POST["quantite"]) && $_POST["quantite"]== 9) echo "selected";?> >9</option>
	<option <?php if(isset($_POST["quantite"]) && $_POST["quantite"] == 10) echo "selected"; ?> >10</option>
	
	
</select> </td> 
<td border='2' ><?php echo " $url"?>
</td>
</tr>
<?php } ?>
 </table>

s'il vous plait aide moi
merci d'avance

1 réponse

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

Tu construis mal ton formulaire...
Pour l'instant tu sembles créer un <form pour chaque produit .... hors tu ne devrais en avoir qu'un pour ta page ...
Il faut donc le mettre EN DEHORS de ta boucle.

Il faudra également que tu nomme tes champs comme des array
par exemple :
<select  name="quantite[]"> 


NB : Au passage.. pour éviter des gros pavés de code pour créer tes "option" dans ton select .. tu pourrais simplement utiliser une boucle
Ce code :
 <option <?php if(isset($_POST["quantite"]) && $_POST["quantite"] == 1) echo "selected";  ?> selected> 1</option> 
  <option  <?php if(isset($_POST["quantite"]) && $_POST["quantite"] == 2) echo "selected"; ?>  > 2</option>
  <option   <?php if(isset($_POST["quantite"]) && $_POST["quantite"] == 3) echo "selected"; ?> > 3</option>
   <option  <?php if(isset($_POST["quantite"]) && $_POST["quantite"] == 4) echo "selected"; ?> >4</option>
   <option  <?php if(isset($_POST["quantite"]) && $_POST["quantite"] == 5) echo "selected"; ?> >5</option>
   <option  <?php if(isset($_POST["quantite"]) && $_POST["quantite"]== 6) echo "selected"; ?> >6</option>
  <option  <?php if(isset($_POST["quantite"]) && $_POST["quantite"] == 7) echo "selected"; ?> >7</option>
<option  <?php if(isset($_POST["quantite"]) && $_POST["quantite"] == 8) echo "selected"; ?> >8</option> 
<option  <?php if(isset($_POST["quantite"]) && $_POST["quantite"]== 9) echo "selected";?> >9</option>
	<option <?php if(isset($_POST["quantite"]) && $_POST["quantite"] == 10) echo "selected"; ?> >10</option>


devient , plus proprement, comme ceci :
<?php
//récupération PROPRE des variables POST AVANT de les utiliser :
$quantite = !empty($_POST["quantite"]) ? $_POST["quantite"] : 0;

//boucle pour creer 10 <option>
for($i=1;$i<=10;$i++){
  $selected = $quantite == $i ? " selected " : "";
  echo "<option value='$i' $selected >$i</option>";
}
?>

0
angela_gim Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
merci beaucoup pour votre aide
0