Page 1 sur 1

Recuperation d'une variable

Posté : 12 déc. 2006, 19:29
par ALphaman
Bonsoir tous le monde,

Je vien vous demander de l'aide car je bloque à la recuperation d'une variable, je m'explique, j'ai un formulaire composé d'une liste deroulante qui est quand à elle rempli par une entrée de ma bdd ( par exemple AVOINE = 4 et bien selection de 0 à 4 ,jspr que vous voyez se que je veu dire la)

Ensuite ce formulaire est envoyer et soit il met à jour ma table si le chiffre selectionner et plus petit que celui contenu dans la table soit le supprime si egal, donc en gros jusqu'a la ca va, ensuite mon probleme et que je souhaite recupérer le prix apres l'envoi du formulaire ( ou avant juste apres la selection dans la liste deroulante ) le prix de l'objet et aussi contenu dans la table ( ici commerce pour info ) et donc je n'arrive pas à recupérer la variable du prix je ne vois pas trop comment faire .

Je vous met le code pour
// POST
echo '<form action="marche.php" method="post">';

// entête de ta table !
echo '
	   <table width="580" height="42" border="1">
   <tr>
				 <td>Nom</td>
			<td>Quantité</td>
			<td>Prix</td>
			   <td>Choix</td>
		</tr>
	'; 

//---------- Selection liste deroulante + resultat POST + Mise à jours si inferieur à ZERO --------------
 if (isset($_POST['nbr_total']))
{
$nbr_total = $_POST['nbr_total'];
for($i=0;$i<$nbr_total;$i++)
{
   $nbr=$_POST['nbr_'.$i];
   $id=$_POST['id_'.$i];
   $pri=$_POST['pritest'];
   	echo ''.$pri.'';
   if(0<$nbr) mysql_query ("update commerce set quantite=quantite-".$nbr." WHERE id_commerce = '".$id."'");

	}
	}
	//----- fin ---------------
//---------- Si quantité egal a ZERO alors on supprime l'entrée ----------
if ($quantite_res <= 0)
{
mysql_query ("DELETE FROM commerce WHERE quantite = '".$quantite_res."'");

} 

//------fin supression -------------
$ress = mysql_query ('SELECT * FROM commerce');
// ----------------- boucle pr afficher toute les entrée de la table commerce ---------  

// ensuite boucle !
$i=0;
while ($donnees = mysql_fetch_array ($ress))	
{
	$nom_res = $donnees['objet'];
	$prix_res = $donnees['prix'];
	$quantite_res = $donnees['quantite'];
	$id_denre = $donnees['id_commerce'];

	// -------tableau affichant toute les entrées et liste deroulante-----------
	echo '
			<tr>
				<td width="107">'.$nom_res.'</td>
				<td width="181">'.$quantite_res.'</td>
				<td width="132">'.$prix_res.'</td>
				<td width="10">';
				
$nombre = 0;
echo'<input type="hidden" name="id_'.$i.'" value="'.$id_denre.'" />';

echo'<select name="nbr_'.$i.'">';
while ($nombre <= $quantite_res)
{
echo '<option value="'.$nombre.'">'.$nombre.'</option>'; 
$nombre++;
}
echo '<input type="Submit" value="Ok"></select></td></tr>';
$i++;

}
//-- fin du If et boucle--------------
echo '<input type="hidden" name="nbr_total" id="nbr_total" value="'.$i.'" />'; 
//---- fin tableau
mysql_close(); 

?>
Si vous pouvez me donner un coup de main je veu bien svp

Merci

Posté : 13 déc. 2006, 12:29
par Maitrepylos
Bonjour,

Essaye pour commencer de séparer Html de php
<form action="marche.php" method="post">

<!--entête de ta table !-->
<table width="580" height="42" border="1">
<tr>
	<td>Nom</td>
    <td>Quantité</td>
    <td>Prix</td>
    <td>Choix</td>
</tr>
<?php
//---------- Selection liste deroulante + resultat POST + Mise à jours si inferieur à ZERO --------------
 if (isset($_POST['nbr_total']))
{
	$nbr_total = $_POST['nbr_total'];
	for($i=0;$i<$nbr_total;$i++)
	{
   		$nbr=$_POST['nbr_'.$i];
   		$id=$_POST['id_'.$i];
   		$pri=$_POST['pritest'];
       	echo ''.$pri.'';
   		if(0<$nbr)
   		{
   			mysql_query ("update commerce set quantite=quantite-".$nbr." WHERE id_commerce = '".$id."'");
   		}
	}
}
    
//----- fin ---------------

//---------- Si quantité egal a ZERO alors on supprime l'entrée ----------
if ($quantite_res <= 0)
{
	mysql_query ("DELETE FROM commerce WHERE quantite = '".$quantite_res."'");
} 

//------fin supression -------------

$ress = mysql_query ('SELECT * FROM commerce');

// ----------------- boucle pr afficher toute les entrée de la table commerce ---------  

// ensuite boucle !
$i=0;
while ($donnees = mysql_fetch_array ($ress))    
{
    $nom_res = $donnees['objet'];
    $prix_res = $donnees['prix'];
    $quantite_res = $donnees['quantite'];
    $id_denre = $donnees['id_commerce'];

    // -------tableau affichant toute les entrées et liste deroulante-----------
?>
	<tr>
      <td width="107">'.$nom_res.'</td>
      <td width="181">'.$quantite_res.'</td>
      <td width="132">'.$prix_res.'</td>
      <td width="10">
<?php                
$nombre = 0;
?>
<input type="hidden" name="<?php echo 'id_'.$i ?>" value=" <?php echo $id_denre ?>" />

<select name="<?php echo 'nbr_'.$i ?>">
<?php

	while ($nombre <= $quantite_res)
	{
		echo '<option value="'.$nombre.'">'.$nombre.'</option>';
		$nombre++;
	}
	echo '<input type="Submit" value="Ok"></select></td></tr>';
	$i++;

}

//-- fin du If et boucle--------------
?>
<input type="hidden" name="nbr_total" id="nbr_total" value="<?php echo $i ?>" /> 
<?php
//---- fin tableau
mysql_close(); 

?> 

Si j'ai bien compris ta demande tu veux récupérer le prix du produit sélectionner en fonction de la quantité choisie dans le menu déroulant?

si c'est le cas, je verrais quelchose du genre

<?php
$reponseMysql = "SELECT (prix * nbr.$i) FROM commerce WHERE id_commerce = $_POST['id_denre']"
?>

Il faut naturellemnt savoir ce que retourne nbr.$i


Posté : 13 déc. 2006, 20:44
par ALphaman
Merci de ta reponse, mais j'ai enfaite trouver ce que je souhaité faire mon echo m'affiché toute les entrées s'implement psk je ne l'avais pas mis dans la bonne boucle

Merci quand meme :)