Page 1 sur 1
probleme d'affichage
Posté : 13 mai 2005, 11:16
par pec
bonjour,
j'ai un probleme d'affichage suite a une requete. sur les deux champs demandés id et nom test, un seul champs s'affiche le nom_test. id est en auto increment
voici le code:
echo '<select size=1 name="cat">'."\n";
echo '<option value="-1">Choisir un résultat<option>'."\n";
// Récupération des informations triées par ordre alphabétique
$sql = "SELECT id, nom_test FROM test ORDER BY nom_test";
$ReqLog = mysql_query($sql,$connexion);
while ($resultat = mysql_fetch_row($ReqLog)) {
echo '<option value="'.$resultat[0].'">'.$resultat[1];
echo '</option>'."\n";
}
echo '</select>'."\n";
merci de votre aide
Posté : 13 mai 2005, 11:21
par seayoung
je suis pas sure d avoir tout compris mais ,
pour afficher tes champs:
echo $resultat['id'];
echo $resultat['nom_test'];
j espere que ca t aidera

Posté : 13 mai 2005, 11:22
par zeus
Vu ton code, le code HTML généré sera de cette forme :
Code : Tout sélectionner
<option value="id1">nom1</option>
<option value="id2">nom2</option>
...
Donne moi le code HTML généré par ton scritp PHP stp ?
Posté : 13 mai 2005, 11:37
par pec
voila le code html
<html>
<body>
<h1>Mon premier script</h1>
<BR>
<select size=1 name="cat">
<option value="-1">Choisir un résultat<option>
<option value="7">tata</option>
<option value="8">tete</option>
<option value="5">titi</option>
<option value="4">toto</option>
<option value="6">tutu</option>
<option value="9">tyty</option>
</select>
</BR>
</body>
</html>
Posté : 13 mai 2005, 11:39
par slipndi
Mais enfaite je comprend pas le problème

Posté : 13 mai 2005, 11:43
par zeus
Donc tu voit que tout s'affiche !!!!
Mais ds ta page HTML, tu vois pas que l'identifiant est affiché !!!
Posté : 13 mai 2005, 11:46
par pec
dans ma page html j'ai que nom test qui s'affiche et pas id qui va avec
Posté : 13 mai 2005, 11:49
par pjl
c'est normal, ta page ne fait que ce que tu lui demande de faire.
Là c'est un pb de HTML alors. IL va falloir en réviser les bases avant d'aller plus loin en PHP.
Posté : 13 mai 2005, 11:50
par zeus
Si tu regarde ton code HTML dans lequel seul ce qui n'est pas entre balise HTML s'affiche. Vu que ton id est dans ta balise (<option>), c'est normal que tu ne le voit pas.
Si tu veux qu'il s'affiche, il faut que tu fasse ça :
echo '<select size=1 name="cat">'."\n";
echo '<option value="-1">Choisir un résultat<option>'."\n";
// Récupération des informations triées par ordre alphabétique
$sql = "SELECT id, nom_test FROM test ORDER BY nom_test";
$ReqLog = mysql_query($sql,$connexion);
while ($resultat = mysql_fetch_row($ReqLog)) {
echo '<option value="'.$resultat[0].'">'.$resultat[0].' - '.$resultat[1].'</option>'."\n"; // LIGNE SENSIBLE
}
echo '</select>'."\n";
Si tu regarde la ligne que j'appelle LIGNE SENSIBLE, j'ai affiche ton id en DEHORS des balise HTML !!! Seul moyen d'afficher qqchose dans une page HTML !
Posté : 13 mai 2005, 11:51
par seayoung
si je comprend ce que tu veux faire ( et c'est pas evident )
essaye:
while ($resultat = mysql_fetch_row($ReqLog))
{
echo '<option value="'.$resultat['id'].'">'.$resultat['nom_test'].'';
echo '</option>'."\n";
}
Posté : 13 mai 2005, 11:52
par pec
ok merci
ca marche
promis je me mets au html ...

Posté : 13 mai 2005, 11:55
par seayoung
mooo non l'un et l autre sont complémentaire faut pas en privilégier un plutot qu un autre ou alors ca serait plutot le php
bon courage pour la suite

Posté : 13 mai 2005, 16:14
par pjl
et tu fais comment pour faire une page en PHP si tu n'as pas le minimum de base en HTML ?
Il ne faut quand même pas oublier que, pour résumer grosièrement, le PHP ne fait qu'écrire de façon dynamique du HTML.