Récupérer la valeur de select

Fermé
angela_gim Messages postés 5 Date d'inscription vendredi 24 mars 2017 Statut Membre Dernière intervention 2 mai 2017 - 25 avril 2017 à 00:01
angela_gim Messages postés 5 Date d'inscription vendredi 24 mars 2017 Statut Membre Dernière intervention 2 mai 2017 - 27 avril 2017 à 00:03
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 38150 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 29 avril 2024 4 651
25 avril 2017 à 00:10
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 vendredi 24 mars 2017 Statut Membre Dernière intervention 2 mai 2017
27 avril 2017 à 00:03
merci beaucoup pour votre aide
0