Requete pour liste déroulante ds formulaire

Résolu
stephane1405 Messages postés 23 Date d'inscription   Statut Membre Dernière intervention   -  
clem285 Messages postés 280 Date d'inscription   Statut Membre Dernière intervention   -
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 23 Date d'inscription   Statut Membre Dernière intervention  
 
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 67 Date d'inscription   Statut Membre Dernière intervention  
 
<?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 280 Date d'inscription   Statut Membre Dernière intervention   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 23 Date d'inscription   Statut Membre Dernière intervention  
 
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 280 Date d'inscription   Statut Membre Dernière intervention   83 > stephane1405 Messages postés 23 Date d'inscription   Statut Membre Dernière intervention  
 
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 23 Date d'inscription   Statut Membre Dernière intervention   > clem285 Messages postés 280 Date d'inscription   Statut Membre Dernière intervention  
 
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 67 Date d'inscription   Statut Membre Dernière intervention  
 
ca marche?
0
stephane1405 Messages postés 23 Date d'inscription   Statut Membre Dernière intervention  
 
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 280 Date d'inscription   Statut Membre Dernière intervention   83 > stephane1405 Messages postés 23 Date d'inscription   Statut Membre Dernière intervention  
 
<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 23 Date d'inscription   Statut Membre Dernière intervention   > clem285 Messages postés 280 Date d'inscription   Statut Membre Dernière intervention  
 
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 23 Date d'inscription   Statut Membre Dernière intervention  
 
ç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 280 Date d'inscription   Statut Membre Dernière intervention   83
 
content pour toi :)
bonne continuation
0