Liste deroulante en php

norais Messages postés 103 Date d'inscription   Statut Membre Dernière intervention   -  
 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


A voir également:

13 réponses

DoulyCreations Messages postés 187 Date d'inscription   Statut Membre Dernière intervention   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
Jelj
 
je voit je voit... madame soleil du php, sans code pas possible de deviner.
0
norais Messages postés 103 Date d'inscription   Statut Membre Dernière intervention  
 
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
norais Messages postés 103 Date d'inscription   Statut Membre Dernière intervention  
 
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
AssassinTourist Messages postés 6029 Date d'inscription   Statut Contributeur Dernière intervention   1 312
 
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
norais Messages postés 103 Date d'inscription   Statut Membre Dernière intervention  
 
bojour,
oui pas mal de valeurs
0
AssassinTourist Messages postés 6029 Date d'inscription   Statut Contributeur Dernière intervention   1 312
 
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
norais Messages postés 103 Date d'inscription   Statut Membre Dernière intervention  
 
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
norais Messages postés 103 Date d'inscription   Statut Membre Dernière intervention  
 
svp essayer de m'aider c'est urgent
0
norais Messages postés 103 Date d'inscription   Statut Membre Dernière intervention  
 
au secours SVP
J'ai creusé dans le web mais pas de reponse
0
Tralala8 Messages postés 120 Date d'inscription   Statut Membre Dernière intervention   14
 
Bonsoir,

Faché avec les point-virgules ? À chaque "echo" de la balise "option", ils sont absents.
0
norais Messages postés 103 Date d'inscription   Statut Membre Dernière intervention  
 
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
Tralala8 Messages postés 120 Date d'inscription   Statut Membre Dernière intervention   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
norais Messages postés 103 Date d'inscription   Statut Membre Dernière intervention  
 
bonjour,
comment peux je remplacer ce while avec for?je en suis sure du resultat
0
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
Kommu
 
Ah non j'ai lu trop vite ton code en faite ce n'est pas ça ... mais essaye quand même.
0
AssassinTourist Messages postés 6029 Date d'inscription   Statut Contributeur Dernière intervention   1 312
 
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
norais Messages postés 103 Date d'inscription   Statut Membre Dernière intervention  
 
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
norais Messages postés 103 Date d'inscription   Statut Membre Dernière intervention  
 
tout les controles qui suit le select ne s'affichent pas sauf si je break la boucle
0
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