Liste deroulante en php

norais Messages postés 126 Statut Membre -  
 ReDLoG -
Bonsoir,
jai un problme avec l'affichage de ma page ,lorsque j'alimente une select (liste de choix)de la base de donnes tout le contenu qui suit la balise select ne s'affichent pas sauf si je fait un break dans le while et alors j'aurais un seul choix dans la liste(le premier dans la table)
aidez moi moi c'est urgent

13 réponses

  1. DoulyCreations Messages postés 265 Statut Membre 19
     
    Question bête :
    As-tu refermé ton select ?

    <select name="menu1" style="width:200px">
    <?php
    while($don=mysql_fetch_array($req) or die(mysql_error()))
    {
    
    ?>
    <option value="<?php echo $don['PN'] ?>"><?php echo $don['PN'] ?></option>
    
    <?php
    
    }
    ?>
    </select>
    1
  2. Jelj
     
    je voit je voit... madame soleil du php, sans code pas possible de deviner.
    0
  3. norais Messages postés 126 Statut Membre
     
    bonsoir,

    <select name="menu1" style="width:200px">
    <?php
    while($don=mysql_fetch_array($req) or die(mysql_error()))
    {

    ?>
    <option value="<?php echo $don['PN'] ?>"><?php echo $don['PN'] ?></option>

    <?php

    }
    ?>
    APRES CETTE PORTION DU CODE JAI UNE AUTRE DIV DU PIED DE PAGE
    LE probleme est que le pied de la page ne s'affiche que si je fait un break au sein de la boucle et alors j'aurais un seul enregistrement dans la liste
    merci d'avance
    0
  4. norais Messages postés 126 Statut Membre
     
    oui jai fermé la la balise select mais sans resultat j'obtient pas l'affichage de la div pied de page avec son design
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. AssassinTourist Messages postés 409 Date d'inscription   Statut Contributeur Dernière intervention   1 313
     
    Bonjour,

    Est-ce que l'une de tes valeurs dans $don['PN'] contient un caractère spécial, genre une balise fermante ou un guillement ou une apostrophe ?
    0
  7. norais Messages postés 126 Statut Membre
     
    bojour,
    oui pas mal de valeurs
    0
    1. AssassinTourist Messages postés 409 Date d'inscription   Statut Contributeur Dernière intervention   1 313
       
      Il faut échapper tes valeurs qui peuvent contenir un caractère spécial. Par exemple si jamais t'as le texte << un guillemet s'écrit ainsi : " >>
      Alors ton option sera comme ça :
      <option value="un guillemet s'écrit ainsi : " ">un guillemet s'écrit ainsi : "</option>

      Tu vois le problème ?
      0
    2. norais Messages postés 126 Statut Membre
       
      salut
      j'ai fait un test sur des valeurs qui n'ont pas de caractères spéciaux mais sans résultat
      moi je pense fort a la boucle qui ne cesse pas alors l'interpréteur reste toujours dans le contrôle select parce-que lorsque je fait un break a la fin de la boucle j'obtiendrais la page complète mais avec une liste contient le premier enregistrement de la table
      merci d'avance
      0
    3. norais Messages postés 126 Statut Membre
       
      svp essayer de m'aider c'est urgent
      0
  8. norais Messages postés 126 Statut Membre
     
    au secours SVP
    J'ai creusé dans le web mais pas de reponse
    0
  9. Tralala8 Messages postés 128 Statut Membre 14
     
    Bonsoir,

    Faché avec les point-virgules ? À chaque "echo" de la balise "option", ils sont absents.
    0
  10. norais Messages postés 126 Statut Membre
     
    bonsoir,
    si c'était le point virgule ça sera une erreur dans la page ce que j'ai pas;
    moi jai un probleme avec tout les controles qui suivent cette balise select ne s'affiche pas(des boutons et le pied de page )
    0
    1. Tralala8 Messages postés 128 Statut Membre 14
       
      Toujours est-il qu'il faut un point-virgule après une instruction comme un echo.

      Si vraiment ce n'est pas le point-virgule qui fait foirer le script, il y a de fortes chances que ça soit la balise "select" qui ne soit pas fermée.

      Vu que tu as dit qu'elle l'était, c'est qu'il doit y avoir un autre problème. Seulement, on n'est pas des devins. Un peu plus de code serait plus que le bienvenu.
      0
  11. norais Messages postés 126 Statut Membre
     
    bonjour,
    comment peux je remplacer ce while avec for?je en suis sure du resultat
    0
  12. Kommu
     
    <select name="menu1" style="width:200px">
    <?php
    while($don=mysql_fetch_array($req) or die(mysql_error()))
    {

    ?>
    <option value="<?php echo $don['PN'] ?>"><?php echo $don['PN'] ?></option>

    <?php

    }
    ?>
    </select>

    le problème est que tu reste toujours sur le même enregistrement.

    Il faut que tu mette un mysql_fetch_array dans la boucle

    <select name="menu1" style="width:200px">  
    <?php  
    
    $don=mysql_fetch_array($req);  
    
    while($don != false)  
    {  
    
    ?>  
    <option value="<?php echo $don['PN']; ?>"><?php echo $don['PN']; ?></option>  
    
      <?php  
      $don=mysql_fetch_array($req);  
    }  
    ?>  
    </select>  
    
    0
    1. Kommu
       
      Ah non j'ai lu trop vite ton code en faite ce n'est pas ça ... mais essaye quand même.
      0
  13. AssassinTourist Messages postés 409 Date d'inscription   Statut Contributeur Dernière intervention   1 313
     
    Change ton code comme ceci :

    <select name="menu1" style="width:200px">
    <?php
      $compteur = 0;
      while($don=mysql_fetch_array($req) or die(mysql_error())){
    ?>
      <option value="<?php echo $don['PN'] ?>"><?php echo $compteur ?></option>
    <?php
        $compteur++;
      }
    ?> 
    </select>


    Au fait qu'est-ce qui est réellement affiché ? Ton select s'affiche bien sinon ? Si tu enlèves le code de ton select, tu as bien ton div de fin de page ? (pour être sûr que le problème vient de là)
    0
  14. norais Messages postés 126 Statut Membre
     
    mon code est :
    <?php
    require('connexion.php');
    session_start();
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>test1</title>
    </head>
    <div id="page" style="width:900px;height:600px;margin:auto">
    <div id="entete" style="width:900px;height:150px;background-color:#00FF99;margin:auto"></div>
    <div id="espace1" style="width:900px;height:10px;margin:auto"></div>
    <div id="corps" style="width:900px;height:400px;background:#330099;margin:auto">
    <select name="ook" selected>

    <option value=""></option>
    <?php
    $req=mysql_query('select * from materiel') or die(mysql_error());
    while($don=mysql_fetch_array($req)or die(mysql_error()))
    {
    ?>

    <option value="<?php echo $don['PN']; ?>"><?php echo $don['PN']; ?></option>
    <?php
    }
    ?>
    </select>
    <input type="button" name="oko" value="valider" />
    <input type="button" name="ok" value="enregistrer" />
    nom:<input type="text" name="nom" />

    </div>
    <div id="espace2" style="width:900px;height:10px;margin:auto"></div>
    <div id="pied" style="width:900px;height:30px;background-color:#00FF99;margin:auto"></div>
    </div>
    <body>
    </body>
    </html>
    0
    1. norais Messages postés 126 Statut Membre
       
      tout les controles qui suit le select ne s'affichent pas sauf si je break la boucle
      0
    2. ReDLoG
       
      Bonsoir,
      Testes comme ceci, on ne sait jamais, si ça veut fonctionner :
      <select name="ook">
      	<option value="">Choix...</option>
      	<?php 
      	$req = mysql_query('SELECT * FROM materiel')or die(mysql_error());
      	while($data = mysql_fetch_assoc($req)) {
      	?>
      	echo "<option value=\"". $data['PN'] ."\">". $data['PN'] ."</option>\n";
      	<?php
      	}
      	mysql_free_result($req);
      	?>
      </select>

      P.S. : Le selected dans la balise SELECT ne sert à rien et de plus n'est pas valide en HTML.
      0