Requete pour liste déroulante ds formulaire

Résolu
stephane1405 Messages postés 24 Statut Membre -  
clem285 Messages postés 290 Statut Membre -
Bonjour,

Je voudrais créer un formulaire (avec fonction Isset) avec une liste déroulante issue d'une requête.

La requête marche et j'arrive a faire un tableau avec les résultats mais je n'arrive pas a mettre les résultats dans la liste déroulante de mon formulaire.

Voici mon code :



<?php



require('includes/start.php');



if (isset($_POST['totomail'])){
$uid = $_POST['uid'];
echo$uid;

}


$form = "<table>
<form METHOD=POST>
<form method=\"POST\">



echo '<select size=1 name="uid">'."\n";
echo '<option value="-1">Choisir un résultat<option>'."\n";

// Récupération des informations triées par ordre alphabétique dans la table catégorie

$sql = "SELECT * FROM categorie where uid>$maxattach ORDER by nom ASC";
$ReqLog = mysql_query($sql, $connexion);

while ($resultat = mysql_fetch_row($ReqLog)) {
echo '<option value="'.$resultat[0].'">'.$resultat[1];
echo '</option>'."\n";
}

echo '</select>'."\n";



<p><input type=\"submit\" value=\"J'envoie\" name=\"totomail\"></p>
</form>
</table>
<HR>";



require('includes/stop.php');


?>



Merci de m'avoir lu,

Stéphane
A voir également:

5 réponses

stephane1405 Messages postés 24 Statut Membre
 
j'ai modifié le code mais ça n'affiche rien dans la liste déroulante :


<?php



require('includes/start.php');


//j'arrive à afficher ma requete sous forme d'une table

$requete="SELECT * FROM categorie where uid>$maxattach ORDER by nom ASC";
$valeur=mysql_query($requete);
print(mysql_num_rows($valeur).' ligne(s)<br>');
while ($tableau=mysql_fetch_array($valeur)){


?>
<table border="5">
<tr>
<td width="10"> </td>
<td><?php print($tableau["uid"]);?></td>
<td><?php print($tableau["nom"]);?></td>
<td><?php print($tableau["attachement"]);?></td>

</tr>
</table>

<?php



}


//mais pas dans ce formulaire : il s'affiche un formulaire avec une liste vide.


if (isset($_POST['go'])){
$choix = $_POST['nom'];
echo"<br><b>".$choix."</b>";
}
$i=0;
$liste="<table>

<form method=\"POST\">
<p><select size=\"1\" name='nom'>";
while ($i<$ligne){
$uid= $tableau[$i]['uid'];
$complet= $tableau[$i]['nom'];
$liste=$liste."<option value=".$uid.">".$complet."</option>";
$i=$i+1;
}
$liste=$liste."<p><input type=\"submit\" value=\"Envoyer\" name=\"go\"></p>
</form>
</table>
<HR>";
echo$liste;



?>
0
elecktro-chok Messages postés 68 Statut Membre
 
<?php
require('includes/start.php');
$requete="SELECT * FROM categorie where uid>$maxattach ORDER by nom ASC";
$valeur=mysql_query($requete);
print(mysql_num_rows($valeur).' ligne(s)<br>');
while ($tableau=mysql_fetch_array($valeur)){
?>
<table border="5">
<tr>
<td width="10"> </td>
<td><?php print($tableau["uid"]);?></td>
<td><?php print($tableau["nom"]);?></td>
<td><?php print($tableau["attachement"]);?></td>
</tr>
</table>
<?php
}
if (isset($_POST['go'])){
$choix = $_POST['nom'];
echo"<br><b>".$choix."</b>";
}
$i=0;
$liste="<table>

<form method=\"POST\">
<p><select size=\"1\" name='nom'>";
while ($i<$ligne){
$uid= $tableau[$i]['uid'];
$complet= $tableau[$i]['nom'];
$liste=$liste?>
<option value="<? echo $uid;?>"><?php echo $complet;?> </option>

$i=$i+1;
}
$liste=$liste."<p><input type=\"submit\" value=\"Envoyer\" name=\"go\"></p>
</form>
</table>
<HR>";
echo$liste;



?>

<option value="0" selected="selected"> </option>
<?php
include('connect.php');
$reponse = mysql_query("SELECT codeinstance,libelleinstance FROM instance");?>

<?php

while ($donnees = mysql_fetch_array($reponse))
{
$codeins = $donnees['codeinstance'];
$libins = $donnees['libelleinstance'];
?>
<option value="<?php echo $codeins;?>">
<?php echo $libins;?>
</option>
<?php
}
?>
</select>
0
clem285 Messages postés 290 Statut Membre 83
 
voila un exemple :

//debut de la liste déroulante

<select size="1" name="suppr">
<option>-choisissez-</option>
<?php
//requete sql
$query = "select *from club";

$result = mysql_query ($query) or die ("Erreur lors de la requête :".mysql_error());
// boucle
while ( $donnees = mysql_fetch_array($result) )
{
//affiche dans ta lise déroulante le résultat de ta requete
echo "<option> ".$donnees['nom_club']." </option>";

}
?>
edit : j'ai oublié </select> :p
0
stephane1405 Messages postés 24 Statut Membre
 
merci clem285

j'ai bien la liste déroulante avec les résultats de la requête,

mais comment l'intégrer dans un formulaire avec bouton OK pour envoyer ?
0
clem285 Messages postés 290 Statut Membre 83 > stephane1405 Messages postés 24 Statut Membre
 
tu integrès tout simplement se que je t'ai mi dans un formulaire :p

<form ACTION="page à afficher" name="nom de ton formulaire" method="POST"(ou method="get")>

//debut de la liste déroulante

<select size="1" name="suppr">
<option>-choisissez-</option>
<?php
//requete sql
$query = "select *from club";

$result = mysql_query ($query) or die ("Erreur lors de la requête :".mysql_error());
// boucle
while ( $donnees = mysql_fetch_array($result) )
{
//affiche dans ta lise déroulante le résultat de ta requete
echo "<option> ".$donnees['nom_club']." </option>";

}
?></select>

<INPUT TYPE="submit" name="form2" VALUE="OK">

</form>
0
stephane1405 Messages postés 24 Statut Membre > clem285 Messages postés 290 Statut Membre
 
merci encore pour ton aide,

je voudrais intégrer la liste dans un formulaire avec Isset,

j'ai un message d'erreur sur la ligne de Method = "Post" (au début):




if (isset($_POST['totomail'])){
$uid = $_POST['uid'];
echo$uid;

}


$form = "<table>
<form method="POST">

//debut de la liste déroulante

<select size="1" name="uid">
<option>-choisissez-</option>
<?php
//requete sql
$query = "select *from club";

$result = mysql_query ($query) or die ("Erreur lors de la requête :".mysql_error());
// boucle
while ( $donnees = mysql_fetch_array($result) )
{
//affiche dans ta lise déroulante le résultat de ta requete
echo "<option> ".$donnees['nom']." </option>";

}
?></select>

<INPUT TYPE="submit" name="totomail" VALUE="OK">

</form>
</table>
<HR>";
print($form);
0
elecktro-chok Messages postés 68 Statut Membre
 
ca marche?
0
stephane1405 Messages postés 24 Statut Membre
 
merci elecktro-chok,


j'ai un message d'erreur avec ton code à ce niveau là :


<HR>";

echo$liste;

?>


je crois que c'est à cause du " ? > " je ne sais pas ce qu'il ferme.
0
clem285 Messages postés 290 Statut Membre 83 > stephane1405 Messages postés 24 Statut Membre
 
<option value="<? echo $uid;?>"><?php echo $complet;?> </option>

rajoute ici
<?php

$i=$i+1;
}
$liste=$liste."<p><input type=\"submit\" value=\"Envoyer\" name=\"go\"></p>
</form>
</table>
<HR>";
echo$liste;



?>

je crois que la faute est là
0
stephane1405 Messages postés 24 Statut Membre > clem285 Messages postés 290 Statut Membre
 
merci pour ta réponse ,


ça ne marche toujours pas, j'obtiens une liste déroulante vide.

pour résumer je voudrais insérer dans un formulaire auto-invocant une liste déroulante provenant de cette requete :

"SELECT * FROM categorie where uid>$maxattach ORDER by nom ASC"

j'arrive a faire une table avec les resulats de la requete mais pas le reste.




voici le code avec les dernières modifs :




<?php
require('includes/start.php');
$requete="SELECT * FROM categorie where uid>$maxattach ORDER by nom ASC";
$valeur=mysql_query($requete);
print(mysql_num_rows($valeur).' ligne(s)<br>');


//tableau avec resultats de la requête

while ($tableau=mysql_fetch_array($valeur)){
?>
<table border="5">
<tr>
<td width="10"> </td>
<td><?php print($tableau["uid"]);?></td>
<td><?php print($tableau["nom"]);?></td>
<td><?php print($tableau["attachement"]);?></td>
</tr>
</table>
<?php
}
if (isset($_POST['go'])){
$choix = $_POST['nom'];
echo"<br><b>".$choix."</b>";
}
$i=0;
$liste="<table>

<form method=\"POST\">
<p><select size=\"1\" name='nom'>";
while ($i<$ligne){
$uid= $tableau[$i]['uid'];
$complet= $tableau[$i]['nom'];
$liste=$liste?>
<option value="<? echo $uid;?>"><?php echo $complet;?> </option>

<?php

$i=$i+1;
}
$liste=$liste."<p><input type=\"submit\" value=\"Envoyer\" name=\"go\"></p>
</form>
</table>
<HR>";
echo$liste;



?>



<option value="0" selected="selected"> </option>
<?php
require('includes/start.php');
$reponse = mysql_query("SELECT * FROM categorie where uid>$maxattach ORDER by nom ASC");?>

<?php

while ($donnees = mysql_fetch_array($reponse))
{
$codeins = $donnees['nom'];
$libins = $donnees['uid'];
?>
<option value="<?php echo $codeins;?>">
<?php echo $libins;?>
</option>
<?php
}
?>
</select>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
stephane1405 Messages postés 24 Statut Membre
 
ça marche !!

merci clem !


voici le code :


<?php


if (isset($_POST['form2'])){
$uid = $_POST['suppr'];
echo$uid;
}



?>

<form name="form2" method="POST"(ou method="get")>

//debut de la liste déroulante

<select size="1" name="suppr">
<option>-choisissez-</option>
<?php
//requete sql
$query = "SELECT * FROM categorie where uid>$maxattach ORDER by nom ASC";

$result = mysql_query ($query) or die ("Erreur lors de la requête :".mysql_error());
// boucle
while ( $donnees = mysql_fetch_array($result) )
{
//affiche dans ta lise déroulante le résultat de ta requete
echo "<option> ".$donnees['nom']." </option>";

}
?></select>

<INPUT TYPE="submit" name="form2" VALUE="OK">

</form>
0
clem285 Messages postés 290 Statut Membre 83
 
content pour toi :)
bonne continuation
0