Requete pour liste déroulante ds formulaire

Résolu/Fermé
stephane1405 Messages postés 23 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 10 septembre 2009 - 23 mai 2008 à 12:21
clem285 Messages postés 281 Date d'inscription samedi 29 septembre 2007 Statut Membre Dernière intervention 22 octobre 2021 - 26 mai 2008 à 15:38
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

5 réponses

stephane1405 Messages postés 23 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 10 septembre 2009
23 mai 2008 à 14:39
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 jeudi 22 mai 2008 Statut Membre Dernière intervention 6 septembre 2008
23 mai 2008 à 14:56
<?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 281 Date d'inscription samedi 29 septembre 2007 Statut Membre Dernière intervention 22 octobre 2021 83
23 mai 2008 à 15:21
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 mardi 30 octobre 2007 Statut Membre Dernière intervention 10 septembre 2009
23 mai 2008 à 16:52
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 281 Date d'inscription samedi 29 septembre 2007 Statut Membre Dernière intervention 22 octobre 2021 83 > stephane1405 Messages postés 23 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 10 septembre 2009
23 mai 2008 à 17:00
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 mardi 30 octobre 2007 Statut Membre Dernière intervention 10 septembre 2009 > clem285 Messages postés 281 Date d'inscription samedi 29 septembre 2007 Statut Membre Dernière intervention 22 octobre 2021
23 mai 2008 à 17:45
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 jeudi 22 mai 2008 Statut Membre Dernière intervention 6 septembre 2008
23 mai 2008 à 15:23
ca marche?
0
stephane1405 Messages postés 23 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 10 septembre 2009
23 mai 2008 à 16:57
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 281 Date d'inscription samedi 29 septembre 2007 Statut Membre Dernière intervention 22 octobre 2021 83 > stephane1405 Messages postés 23 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 10 septembre 2009
24 mai 2008 à 08:57
<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 mardi 30 octobre 2007 Statut Membre Dernière intervention 10 septembre 2009 > clem285 Messages postés 281 Date d'inscription samedi 29 septembre 2007 Statut Membre Dernière intervention 22 octobre 2021
24 mai 2008 à 12:59
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 mardi 30 octobre 2007 Statut Membre Dernière intervention 10 septembre 2009
26 mai 2008 à 14:56
ç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 281 Date d'inscription samedi 29 septembre 2007 Statut Membre Dernière intervention 22 octobre 2021 83
26 mai 2008 à 15:38
content pour toi :)
bonne continuation
0