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
Configuration: Windows XP
Firefox 2.0.0.14

5 réponses

  1. 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
  2. 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
  3. 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
    1. 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
      1. 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
      2. 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
  4. elecktro-chok Messages postés 68 Statut Membre
     
    ca marche?
    0
    1. 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
      1. 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
      2. 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. 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
    1. clem285 Messages postés 290 Statut Membre 83
       
      content pour toi :)
      bonne continuation
      0