Liste deroulante en php

Fermé
norais
Messages postés
103
Date d'inscription
dimanche 7 juin 2009
Statut
Membre
Dernière intervention
15 juillet 2014
- 14 juin 2012 à 00:03
 ReDLoG - 15 juin 2012 à 20:53
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

DoulyCreations
Messages postés
187
Date d'inscription
lundi 11 avril 2011
Statut
Membre
Dernière intervention
23 mars 2015
19
14 juin 2012 à 09:00
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
je voit je voit... madame soleil du php, sans code pas possible de deviner.
0
norais
Messages postés
103
Date d'inscription
dimanche 7 juin 2009
Statut
Membre
Dernière intervention
15 juillet 2014

14 juin 2012 à 00:49
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
dimanche 7 juin 2009
Statut
Membre
Dernière intervention
15 juillet 2014

14 juin 2012 à 13:50
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
5700
Date d'inscription
lundi 16 janvier 2012
Statut
Contributeur
Dernière intervention
23 mars 2022
1 307
14 juin 2012 à 15:26
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
dimanche 7 juin 2009
Statut
Membre
Dernière intervention
15 juillet 2014

Modifié par norais le 14/06/2012 à 18:51
bojour,
oui pas mal de valeurs
0
AssassinTourist
Messages postés
5700
Date d'inscription
lundi 16 janvier 2012
Statut
Contributeur
Dernière intervention
23 mars 2022
1 307
15 juin 2012 à 12:17
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
dimanche 7 juin 2009
Statut
Membre
Dernière intervention
15 juillet 2014

15 juin 2012 à 14:15
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
dimanche 7 juin 2009
Statut
Membre
Dernière intervention
15 juillet 2014

15 juin 2012 à 14:16
svp essayer de m'aider c'est urgent
0
norais
Messages postés
103
Date d'inscription
dimanche 7 juin 2009
Statut
Membre
Dernière intervention
15 juillet 2014

14 juin 2012 à 21:49
au secours SVP
J'ai creusé dans le web mais pas de reponse
0
Tralala8
Messages postés
120
Date d'inscription
mercredi 17 août 2011
Statut
Membre
Dernière intervention
12 février 2013
14
15 juin 2012 à 00:16
Bonsoir,

Faché avec les point-virgules ? À chaque "echo" de la balise "option", ils sont absents.
0
norais
Messages postés
103
Date d'inscription
dimanche 7 juin 2009
Statut
Membre
Dernière intervention
15 juillet 2014

15 juin 2012 à 00:35
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
mercredi 17 août 2011
Statut
Membre
Dernière intervention
12 février 2013
14
15 juin 2012 à 00:46
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
dimanche 7 juin 2009
Statut
Membre
Dernière intervention
15 juillet 2014

15 juin 2012 à 16:04
bonjour,
comment peux je remplacer ce while avec for?je en suis sure du resultat
0
<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
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
5700
Date d'inscription
lundi 16 janvier 2012
Statut
Contributeur
Dernière intervention
23 mars 2022
1 307
15 juin 2012 à 17:00
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
dimanche 7 juin 2009
Statut
Membre
Dernière intervention
15 juillet 2014

15 juin 2012 à 17:18
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
dimanche 7 juin 2009
Statut
Membre
Dernière intervention
15 juillet 2014

15 juin 2012 à 17:19
tout les controles qui suit le select ne s'affichent pas sauf si je break la boucle
0
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