Récuperer la valeur d'une liste deroulante
sabra
-
Alain_42 Messages postés 5413 Statut Membre -
Alain_42 Messages postés 5413 Statut Membre -
Bonjour,
voila mon prb!! j ai une liste deroulante <select> alimenté grace a un table dans ma base je veux récuperer la valeur choisi par l'utilisateur pour l'utliser voila mon code!!! svp aidez moi j ai passé pas mal de temps a chercher pr resoudre se prb
<?php
$base=mysql_connect('localhost', 'root', '');
mysql_select_db('monapplication', $base);
?>
<form name="form1" action="comM.php" method="Get">
<table>
<tr>
<td>
<label ><strong><font color="#0097C5">Article:</font></strong></label>
</td>
<td>
<select name="article" id="article" style="width: 170px">
<?php
$SQL = "SELECT Des_A FROM articles WHERE titre_A NOT LIKE 'pack'";
$res = mysql_query($SQL);
while($val=mysql_fetch_array($res)) {
echo "<option name=\"ok\">".$val['Des_A']."</option>";
}
?> </select>
</td>
</tr>
<tr>
<td>
<label ><strong><font color="#0097C5">Qte:</font></strong></label>
</td>
<td>
<input type="text" name="qte1" id="qte1"/>
</td>
</tr>
</table>
<div id="templatemo_login">
<input type="submit" name="envoyer" value="envoyer" class="button"/>
</div>
<?php
if(isset($_GET['envoyer']))
{
$sql="SELECT qte FROM articles WHERE Des_A= '".$_GET["article"]."'";
$res = mysql_query($sql);
$qte=$_GET['qte1'];
if($qte1>$res)
{
echo "<script>alert('qte indisponible')</script>";
}
voila mon prb!! j ai une liste deroulante <select> alimenté grace a un table dans ma base je veux récuperer la valeur choisi par l'utilisateur pour l'utliser voila mon code!!! svp aidez moi j ai passé pas mal de temps a chercher pr resoudre se prb
<?php
$base=mysql_connect('localhost', 'root', '');
mysql_select_db('monapplication', $base);
?>
<form name="form1" action="comM.php" method="Get">
<table>
<tr>
<td>
<label ><strong><font color="#0097C5">Article:</font></strong></label>
</td>
<td>
<select name="article" id="article" style="width: 170px">
<?php
$SQL = "SELECT Des_A FROM articles WHERE titre_A NOT LIKE 'pack'";
$res = mysql_query($SQL);
while($val=mysql_fetch_array($res)) {
echo "<option name=\"ok\">".$val['Des_A']."</option>";
}
?> </select>
</td>
</tr>
<tr>
<td>
<label ><strong><font color="#0097C5">Qte:</font></strong></label>
</td>
<td>
<input type="text" name="qte1" id="qte1"/>
</td>
</tr>
</table>
<div id="templatemo_login">
<input type="submit" name="envoyer" value="envoyer" class="button"/>
</div>
<?php
if(isset($_GET['envoyer']))
{
$sql="SELECT qte FROM articles WHERE Des_A= '".$_GET["article"]."'";
$res = mysql_query($sql);
$qte=$_GET['qte1'];
if($qte1>$res)
{
echo "<script>alert('qte indisponible')</script>";
}
A voir également:
- Récuperer la valeur d'une liste deroulante
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Recuperer message whatsapp supprimé - Guide
- Comment recuperer une video sur youtube - Guide
- Récupérer mon compte facebook désactivé - Guide
5 réponses
il y a surtout une grosse anomalie dans la generation de la liste:
echo "<option name=\"ok\">".$val['Des_A']."</option>";
l'attribut name doit seulement être dans la balise <select
<option par contre doit avoir value="..."
echo "<option name=\"ok\">".$val['Des_A']."</option>";
l'attribut name doit seulement être dans la balise <select
<option par contre doit avoir value="..."
echo "<option value=\"".$val['Des_A']."\">".$val['Des_A']."</option>";
ça n'est pas très précis, ta réponse ça ne fonctionne pas (quoi, quel message d'erreur ??), mais voilà quand même une solution, avec d'autres corrections
<?php
$base=mysql_connect('localhost', 'root', '');
mysql_select_db('monapplication', $base);
?>
<form name="form1" action="comM.php" method="Get">
<table>
<tr>
<td>
<label ><strong><font color="#0097C5">Article:</font></strong></label>
</td>
<td>
<select name="article" id="article" style="width: 170px">
<?php
$SQL = "SELECT Des_A FROM articles WHERE titre_A NOT LIKE 'pack'";
$res = mysql_query($SQL);
while($val=mysql_fetch_array($res)) {
echo '<option value="'.$val['Des_A'].'">'.$val['Des_A'].'</option>';
}
?> </select>
</td>
</tr>
<tr>
<td>
<label ><strong><font color="#0097C5">Qte:</font></strong></label>
</td>
<td>
<input type="text" name="qte1" id="qte1" value="" />
</td>
</tr>
</table>
<div id="templatemo_login">
<input type="submit" name="envoyer" value="envoyer" class="button"/>
</div>
<?php
if(isset($_GET['envoyer']))
{
$sql="SELECT qte FROM articles WHERE Des_A= '".$_GET["article"]."'";
$res = mysql_query($sql);
//il faut extraire la quantité trouvé du resultat de la requette par un mysql_fetch...
$ligne=mysql_fetch_array($res);
$qte_dispo=$ligne['qte'];
$qte1=$_GET['qte1']; //la erreur
if($qte1 > $qte_dispo)
{
echo '<script type="text/javascript">alert("qte indisponible");</script>';
}
rajoutes cettetrce
<?php
$base=mysql_connect('localhost', 'root', '');
mysql_select_db('monapplication', $base);
?>
<form name="form1" action="comM.php" method="Get">
<table>
<tr>
<td>
<label ><strong><font color="#0097C5">Article:</font></strong></label>
</td>
<td>
<select name="article" id="article" style="width: 170px">
<?php
$SQL = "SELECT Des_A FROM articles WHERE titre_A NOT LIKE 'pack'";
$res = mysql_query($SQL);
while($val=mysql_fetch_array($res)) {
echo '<option value="'.$val['Des_A'].'">'.$val['Des_A'].'</option>';
}
?> </select>
</td>
</tr>
<tr>
<td>
<label ><strong><font color="#0097C5">Qte:</font></strong></label>
</td>
<td>
<input type="text" name="qte1" id="qte1" value="" />
</td>
</tr>
</table>
<div id="templatemo_login">
<input type="submit" name="envoyer" value="envoyer" class="button"/>
</div>
<?php
if(isset($_GET['envoyer']))
{
$sql="SELECT qte FROM articles WHERE Des_A= '".$_GET["article"]."'";
$res = mysql_query($sql);
//il faut extraire la quantité trouvé du resultat de la requette par un mysql_fetch...
$ligne=mysql_fetch_array($res);
$qte_dispo=$ligne['qte'];
$qte1=$_GET['qte1'];
//Trace que tu enlèves après bien sur
echo 'Qté demandée: '. $qte1.'qte dispo: '.$qte_dispo;
if($qte1 > $qte_dispo)
{
echo '<script type="text/javascript">alert("qte indisponible")</script>';
}
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
une autre solution sans javascript, avec réaffichage des données précédemment saisie dans le formulaire et du message en dessous du formulaire
<?php
$base=mysql_connect('localhost', 'root', '');
mysql_select_db('monapplication', $base);
//init variables
$qte1="";
$article="";
$message="";
////cette partie ci dessous doit être avant la partie formulaire
if(isset($_GET['envoyer']))
{
$sql="SELECT qte FROM articles WHERE Des_A= '".mysql_real_escape_string($_GET["article"])."'";
//mysql_real.... c'est pour securiser la requette sql
$res = mysql_query($sql);
$ligne=mysql_fetch_array($res);
$qte_dispo=$ligne['qte'];
$qte1=$_GET['qte1'];
if($qte1 > $qte_dispo)
{
$message="Quantitée indisponible !";
}
}
////
?>
<form name="form1" action="comM.php" method="Get">
<table>
<tr>
<td>
<label ><strong><font color="#0097C5">Article:</font></strong></label>
</td>
<td>
<select name="article" id="article" style="width: 170px">
<?php
$SQL = "SELECT Des_A FROM articles WHERE titre_A NOT LIKE 'pack'";
$res = mysql_query($SQL);
while($val=mysql_fetch_array($res)) {
$option='<option value="'.$val['Des_A'].'"';
if($article==$val['Des_A']) $option.= ' selected="selected"'; //ça c'est pour garder la selection au réaffichage
$option.=' >'.$val['Des_A'].'</option>';
echo $option;
}
?> </select>
</td>
</tr>
<tr>
<td>
<label ><strong><font color="#0097C5">Qte:</font></strong></label>
</td>
<td>
<input type="text" name="qte1" id="qte1" value="<?php echo $qte1; ?>" />
<!-- ci dessus au premier affichage du formulaire $qte1="" donc value= vide, au réaffichage on a value= qté saisie précédemment -->
</td>
</tr>
<?php
//affichage du message eventuel si qté pas dispo
if($message !="") echo '<tr><td colspan="2"></td><font color="red">'.$message.'</font></tr>';
?>
</table>
<div id="templatemo_login">
<input type="submit" name="envoyer" value="envoyer" class="button"/>
</div>
Car le formulaire comporte l'attribut method paramétré à get