Partage
  • Partager sur Facebook
  • Partager sur Twitter

PROBLEME FORMULAIRE

liste déroulante

    22 juin 2006 à 21:42:21

    Bonjour.
    J'ai un problème d'affiche depuis que j'ai mis une liste déroulante. Je vous explique.

    Ma BDD est composée de 2 tables :
    ___ episodes : 2 champs (code ; titre).
    ___ formulaire : 5 champs (id_fiche ; code ; citation ; article ; photourl).

    Dans la liste déroulante s'affiche $code et $titre de la table episodes. Le formulaire retourne $code dans $ordre selon le choix de l'utilisateur.

    Ensuite sur la page principale, ne doit s'afficher que les articles ayant pour code ($code de la table formulaire) le contenu de $ordre.

    Voici le contenu de la page index.php :


    <?php
      include("includes/haut_de_page.php");
      include("includes/tp_variables_inc_1.php");
      include("includes/formulaire_01.php");

    ?>
        <div id="contenu">
        <div id="titre">
        <div id="tableau">
          <table>
            <tr>
              <th>$titre</th>
            </tr>
            <?php
            // connexion au serveur de bdd
            $liendb = mysql_connect(BDDSERVER, BDDLOGIN, BDDPASSWORD);
            // selection de la base
            mysql_select_db (BDD);
            // selection des enregistrements
            $sql = "SELECT episodes.titre, formulaire.citation, formulaire.code, formulaire.article, formulaire.photourl
                    FROM episodes INNER JOIN formulaire ON episodes.code = formulaire.code
          WHERE formulaire.code=$ordre"
    ;
            $resultat = mysql_query ($sql);
            // ecriture des lignes du tableau
            while ($fiche = mysql_fetch_array ($resultat))
            {
             $titre = $fiche['titre'];
                 $citation = $fiche['citation'];
                 $article = $fiche['article'];
                 $photourl = $fiche['photourl'];
                     echo "<table width='600' border='0' cellpadding='0' cellspacing='0' bgcolor='#DEF3EA'>";
                     echo "<tr valign=top>";
                     echo "<td width='180'><div align='center'><img src='$photourl' />";
                     echo "</div>";
                     echo "</div></td>";
                     echo "<td width='414'><p align='justify'><font face='Tahoma'>$citation<br><br>$article</font></p>";
                     echo "</td></tr></table>";
                     echo "<br>";
            }
            // fermeture de la connexion
            mysql_close($liendb);
            ?>
          </table>
        </div>
        </div>
        </div>
        </body>
        </html>


    et le contenu de l'include formulaire_01.php


    <div id="formulaire">
          <form action="index.php" method="post">
            <select name="ordre" onchange="submit()">
              <option value="id">sélectionner l'épisode...</option>
    <?php        // connexion au serveur de bdd
            $liendb = mysql_connect(BDDSERVER, BDDLOGIN, BDDPASSWORD);
            // selection de la base
            mysql_select_db (BDD);
            // selection des enregistrements
            $sql = "SELECT * FROM episodes";
         
            $resultat = mysql_query ($sql);
            // ecriture des lignes du tableau
            while ($fiche = mysql_fetch_array ($resultat))
            {
              $code = $fiche['
    code'];
              $titre = $fiche['
    titre'];
              if($ordre == $code) $select = "selected='
    selected'"; else $select ="";
              echo "<option value='
    $code' $select>$code $titre</option>";
            }
    ?>       
            </select>
          </form>
        </div>
     


    On me dit que j'ai 2 erreurs :

    Notice: Undefined variable: ordre in c:\program files\easyphp1-8\www\vmtrivia\index.php on line 22

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\vmtrivia\index.php on line 25

    Que dois-je faire ?

    En vous remerciant.

    Thomas<titre1></titre1>
    • Partager sur Facebook
    • Partager sur Twitter
      22 juin 2006 à 21:51:24

      Un or die(mysql_error) derriere le mysql_query, et verifier que $ordre existe bien.
      • Partager sur Facebook
      • Partager sur Twitter
        22 juin 2006 à 22:04:13

        Pourrais-tu mettre ton code en php (enlever la citation), sinon je vois rien du tout.
        • Partager sur Facebook
        • Partager sur Twitter
          23 juin 2006 à 15:40:21

          Citation : DavidV

          Pourrais-tu mettre ton code en php (enlever la citation), sinon je vois rien du tout.



          Si tu veux dire avec les couleurs et tout, ça va pas être possible, j'utilise le bloc note.

          D'autre part, merci pour vos réponses.
          Il s'agissait bien d'un problème sur $ordre. Voici ce que j'ai ajouté :


                  if(isset($_POST['ordre']) && !empty($_POST['ordre']))
                  {
                     $ordre = $_POST['ordre'] ;
                  }
                  else
                  {
                     $ordre="101";
                  }


          Maintenant tout marche à merveille quand à l'utilisation du formulaire qui m'affiche uniquement ce que je veux selon le choix.

          Par contre j'ai un second problème sur ma page, cette fois un problème d'affichage.
          Au début j'ai ceci :

          echo "<tr>";
          echo "<th>$titre</th>";
          echo "</tr>";

          Et il m'affiche continuellement le titre du dernier élément de ma liste déroulante, quel que soit le choix.

          Savez-vous comment remédier à ça ?

          En vous remerciant.

          Thomas
          • Partager sur Facebook
          • Partager sur Twitter
            23 juin 2006 à 15:48:42

            A mon avis il va y avoir un moderateur qui va passé par ici pour ton titre ...
            • Partager sur Facebook
            • Partager sur Twitter
              23 juin 2006 à 15:53:03

              rien à voir avec le bloc note, c'est sur le forum, dans la liste code choisi PHP. je lirai aussi quand ça sera beau :)
              • Partager sur Facebook
              • Partager sur Twitter

              PROBLEME FORMULAIRE

              × 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