Partage
  • Partager sur Facebook
  • Partager sur Twitter

Menu déroulant PHP/MySQL

    6 septembre 2010 à 13:23:38

    Bonjour tout le monde :)
    Voilà mon problème: je dois faire une page web pour mon entreprise afin de lister les noms de tous nos serveurs, afin de récupérer leurs infos et en rajouter.
    Après avoir beaucoup trainé sur le web en quête de solutions, et après avoir beaucoup modifié mon code, j'en arrive toujours au même problème. J'ai bien ma liste déroulante, mais rien ne s'affiche dedans... (ou quand c'est le cas, j'ai un morceau de mon code dedans...).

    Voici mon code:

    <?php
    error_reporting(E_ALL|E_STRICT);
    mysql_connect("localhost", "root", "") or die("Connexion impossible");
    mysql_select_db("fiche_serv");
    ?>
    			
    <p>Choisissez un serveur:</p>
    <form method="GET" action="fiche_serv.php">
    <select name="serveur" id="listeserveur">
    			
    <?php
    $res = mysql_query("SELECT * FROM nom_serv");
    echo '<select>';
    while($val = mysql_fetch_assoc($res))
     {
     echo '<option value="'.$val['nom'].'">'.$val['nom'].'</option>';
     }		
    ?>
    


    En ce qui concerne ma base SQL, j'ai une seule base qui s'appelle fiche_serv qui ne contient qu'une seule table appeler nom_serv ['idNom', 'nom'].

    Merci d'avance.
    • Partager sur Facebook
    • Partager sur Twitter
      6 septembre 2010 à 13:25:26

      Pourquoi tu as un select dans le html et un autre dans le echo ?
      Et sur le code posté tu n'en fermes même pas un.
      • Partager sur Facebook
      • Partager sur Twitter
      Ce n'est pas parce que vous ne savez pas vous servir d'un marteau qu'il faut planter des clous au tournevis.
        6 septembre 2010 à 13:31:02

        Exact, j'ai du me mélangé un peu les pinceaux...
        Pour tout te dire, je ne sais même pas vraiment à quoi va me servir le Select... Tu pourrais m'éclairer stp? C'est mieux de le mettre dans le code php ou html?

        Merci pour ton aide :)
        • Partager sur Facebook
        • Partager sur Twitter
          6 septembre 2010 à 13:32:15

          <p>Choisissez un serveur:</p>
          <form method="GET" action="fiche_serv.php">
              <select name="serveur" id="listeserveur" onchange="submit()">
                  <?php
                      //Pas la peine de le mettre en début si tu ne fais que ça ;-)
                      error_reporting(E_ALL|E_STRICT);
                      mysql_connect("localhost", "root", "") or die("Connexion serveur impossible");
                      mysql_select_db("fiche_serv") or die("Connexion base impossible");
                      $res = mysql_query("SELECT idNom,nom FROM nom_serv");
                      while($val = mysql_fetch_assoc($res)) {
                          echo '<option value="'.$val['idNom'].'">'.$val['nom'].'</option>';
                      }
                  ?>
              </select>
          </form>
          


          J'ai fermé le SELECT, le FORM, mis 'id,nom' au lieu de '*' (car c'est le MAL) car tu renverras comme ça le 'idNom', c'est plus simple pour les requêtes futures.

          Ajout de 'onchange="submit()"' pour envoyer directement le form.
          • Partager sur Facebook
          • Partager sur Twitter
          "K.I.S.S." Keep It Simple Stupid - Utilisez la Doc - Activer les Exceptions PDO - SQL Formes Normales
            6 septembre 2010 à 13:48:50

            Merci christouphe, il y avait bien des choses à modifier. Cependant bien que je ne fasse qu'une seule et unique page, je n'aurais pas que ce bout de code en php (je parle pour ce que tu m'as dit pour la connexion à la base).

            Mais bon, pour le moment j'ai quand même tester avec ce que tu m'as fait, j'ai copier tel quel, mais rien à changer, j'ai toujours mon menu déroulant avec rien dedant... :(
            Je suspecte peut-être la connexion à la base justement...
            Pourrais-tu me dire comment pourrais vérifier si php et mysql communique bien? (un truc tout simple...)
            • Partager sur Facebook
            • Partager sur Twitter
              6 septembre 2010 à 13:50:15

              tester ta requête dans PMA par exemple...Le serveur est-il réellement en local ??
              • Partager sur Facebook
              • Partager sur Twitter
              "K.I.S.S." Keep It Simple Stupid - Utilisez la Doc - Activer les Exceptions PDO - SQL Formes Normales
                6 septembre 2010 à 13:53:01

                Oui oui, pour le moment je fais tout en local avec WAMP.

                Si je fais un select dans PMA il me renvoi bien ma liste des deux serveurs que j'ai ajouté en exemple...
                Je pensais plutôt à un echo dans le php, mais je ne vois pas comment le mettre en place...
                • Partager sur Facebook
                • Partager sur Twitter
                  7 septembre 2010 à 2:37:34

                  salut!
                  mets un message d'erreur à la fin de ta requete et verifies
                  bien le nom de ton champ "nom" (la casse je veux dire) !
                  • Partager sur Facebook
                  • Partager sur Twitter
                    7 septembre 2010 à 10:18:51

                    Bonjour :)

                    Mets ça pour qu'on en sache un peu plus :
                    <?php
                    $res = mysql_query("SELECT idNom,nom FROM nom_serv") or exit('Erreur SQL ligne '. __LINE__ .' : '. mysql_error());
                    
                    • Partager sur Facebook
                    • Partager sur Twitter

                    Menu déroulant PHP/MySQL

                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                    • Editeur
                    • Markdown