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


A voir également:

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 5709 Date d'inscription lundi 16 janvier 2012 Statut Contributeur Dernière intervention 29 février 2024 1 310
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 5709 Date d'inscription lundi 16 janvier 2012 Statut Contributeur Dernière intervention 29 février 2024 1 310
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 5709 Date d'inscription lundi 16 janvier 2012 Statut Contributeur Dernière intervention 29 février 2024 1 310
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