Page 1 sur 1

Récupération valeur menu déroulant

Posté : 30 avr. 2012, 15:24
par freecla
Bonjour,


J' ai toujours un problème de récupération de valeur à partir d'un menu déroulant (requète sql sur une table)
je poste le tout en expliquant :
1) j' ai donc un menu déroulant où je veux récupérér le nom d'un agent
Voici le code:
<table>
<div style="position:absolute; left:30px; top:150px; width:304px; height:14px">
<span class="Normal-C1">Agent </span>


<?php
// =======================================
// on se connecte à notre base
$base = mysql_connect ('localhost', 'root', '');
mysql_select_db ('concave', $base);

$sql = "SELECT t_nom_agent FROM agents ORDER BY t_nom_agent ";
// on exécute cette requête
$requete = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$agent_selectionne = '';
echo "<select size='1' name='nomagent' ";

while ($row=mysql_fetch_array($requete))
{

echo "<option value='$row[0]'>$row[0] </option>\n";
$nomagent =$row[0];
// je devrais récupérer la valeur de $row[0] dans $nomagent  
}


echo '</select>'."\n";
// liberation du résultat et vidage


mysql_free_result($requete);

?>

</div>
</table>


2) J' ai trois boutons controle vrac, controle bouteilles et controle inventaire, (donc en cliquant sur un des boutons je vais vers un de ces 3 formulaires)
Je veux pouvoir transférer le nom de l' agent que je sélection le controle vrac (vers le formualaire controle vrac) ou le controle bouteilles (vers son formulaire) ou le controle inventaire (vers son formualaire)

Voilà le code des 3 "forms"
A noter que le input hidden ne fonctionne pas du tout ....$nomagent est bien valorisé mais par une autre valeur de la table


<form method="POST" action="cre_controle_VRAC.php">
<div style="position:absolute; left:130px; top:240px; width:320px; height:14px">
<input type="hidden" name="nomagent" value="<?php echo $nomagent; ?>">
<input type="submit" id="controlevrac" name="controlevrac" class="Normal-C1" value="ControleVRAC ">

</div>
</form>


<form method="POST" action="cre_controle_BOUTEILLES.php">
<div style="position:absolute; left:400px; top:240px; width:320px; height:14px">
<input type="submit" class="Normal-C1" value="Controle BOUTEILLES ">
</div>
</form>

<form method="POST" action="cre_controle_INVENTAIRE.php">
<div style="position:absolute; left:770px; top:240px; width:320px; height:14px">
<input type="submit" class="Normal-C1" value="Controle Inventaire Théorique ">
</div>
</form>


Sur le formulaire cre_controle _vrac voilà le code :
table>
			<div  style="position:absolute; left:30px; top:150px;  height:14px">
			<span class="Normal-C1">Agent </span>
			<?php
					echo $_POST['nomagent'];
			?>
			</div>
			
		</table>

Il faut donc que vraisemblablement je récupère le nom de l' agent dans le select de la table Agents et ensuite quelque chose au niveau des trois "form" .
Mais comment faire , merci pour votre aide ..

Re: Récupération valeur menu déroulant

Posté : 01 mai 2012, 11:15
par touiks
Bonjour,

pourquoi n'utilises-tu pas un seul et même formulaire avec 3 input type submit mais avec des name différents. Dans ton script de récupération de formulaire tu fais des tests pour savoir où l'utilisateur a appuyé (

Code : Tout sélectionner

if(isset($_POST['nameDuBouton1'])
) et tu fais tes traitements avec tous les input de ton formulaire.

J'espère avoir été clair ^^

Touiks

Re: Récupération valeur menu déroulant

Posté : 02 mai 2012, 17:03
par freecla
Merci Touiks pour ta réponse

Ma véritable question est pourquoi je n' arrive pas a sauvegarder la valeur que je sélectionne dans le nom agent
En effet $nomagent n'est pas bien valorisé !!!

<?php
// =======================================
// on se connecte à notre base
$base = mysql_connect ('localhost', 'root', '');
mysql_select_db ('concave', $base);

$sql = "SELECT t_nom_agent FROM agents ORDER BY t_nom_agent ";
// on exécute cette requête
$requete = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$agent_selectionne = '';
echo "<select size='1' name='nomagent' ";

while ($row=mysql_fetch_array($requete))
{

echo "<option value='$row[0]'>$row[0] </option>\n";
$nomagent =$row[0];
// je devrais récupérer la valeur de $row[0] dans $nomagent  
}


echo '</select>'."\n";
// liberation du résultat et vidage


mysql_free_result($requete);

?>

</div>
</table>
Si bien qu'au niveau du form la valeur nomagent que je transmets dans le formulaire cre_controle_VRAC n'est pas la bonne
<form method="POST" action="cre_controle_VRAC.php">
<div style="position:absolute; left:130px; top:240px; width:320px; height:14px">
<input type="hidden" name="nomagent" value="<?php echo $nomagent; ?>">
<input type="submit" id="controlevrac" name="controlevrac" class="Normal-C1" value="ControleVRAC ">

</div>
</form>
J' ai bine une seul formulaire avec 3 input type submit mais où positionne-tu ton "if(isset($_POST['nameDuBouton1'])" dans le form , avant après ...
Je peux t' envoyer tous le programme si tu veux , tu y verras peut être plus clair dans ma démarche ...
Merci