Page 1 sur 1

Valeur par defaut d'une liste de selection

Posté : 23 juin 2005, 14:43
par Guilt
Bonjour,
j'ai une question surement simple : je voudrais après avoir crée une liste que le premier élément soit sélectionné par defaut. Comme la liste est crée par une Base de donnée je ne peux pas faire de <option selected...>.

Voici le code de création de la liste :
$listdomain = "<SELECT NAME='domain' size = 10 onChange='ModifierListe(-1)'>";
// On boucle sur la table
$i=0;
$tab=mysql_query("SELECT name,ID FROM `domains`");
while ($ligne=mysql_fetch_array($tab)) {
    $listdomain .= "<OPTION VALUE=$i>$ligne[0]</OPTION>";
	$i=$i+1;
}
$listdomain .= "</SELECT>";
Merci d avance.[/php]

Posté : 23 juin 2005, 18:55
par Cyrano
Suffit de tester la valeur de $i : si $i vaut zéro, tu ajoutes selected, sinon rien.
$listdomain = "<SELECT NAME='domain' size = 10 onChange='ModifierListe(-1)'>";
// On boucle sur la table
$i=0;
$tab=mysql_query("SELECT name,ID FROM `domains`");
while ($ligne=mysql_fetch_array($tab))
{
    $listdomain .= ($i == 0)?"<OPTION VALUE=\"". $i ."\" selected>". $ligne[$i] ."</OPTION>":"<OPTION VALUE=\"". $i ."\">". $ligne[$i] ."</OPTION>";
    $i++;
}
$listdomain .= "</SELECT>";
TU noteras que j'ai un peu modifié des détails:
- La concaténation PHP/HTML:
- $i++ au lieu de $i = $i + 1;
- Si tu cherches à chaque tour de boucle $ligne[0], tu aura une liste avec autant de fois le même élément et ton pointeur ne sert pas à grand chose donc j'ai remplacé par $i

Merci mais re-question

Posté : 24 juin 2005, 10:52
par Guilt
Merci pr le selected ça marche impeccable et pour l'optimisation du code.

Par contre, au sujet du "Si tu cherches à chaque tour de boucle $ligne[0], tu aura une liste avec autant de fois le même élément et ton pointeur ne sert pas à grand chose donc j'ai remplacé par $i" cela ne fonctionne pas car comme à chaque fois dans le while la valeur $ligne prend une nouvelle valeur je pense que c'est bien $ligne[0] qu'il faut utiliser, car $ligne[1] n'existe pas ni $ligne[2].... En tous cas avec $ligne[0] cela fonctionne...

Merci

Posté : 24 juin 2005, 11:03
par ouckileou
alors toi t'es sacrément gonflé !

et ce post là c'est quoi ?? http://www.phpfrance.com/forums/voir_sujet-4859.php

tu postes le MEME message (à la virgule près!!!), et tu obtiens la MEME réponse

je t'avais mis sur la voie, et zeus t'avais filé le code

Merci, ça fait toujours plaisir de voir que ce qu'on a donné comme infos c'est de la m... et que la personne en a rien à battre de ce qu'on lui a dit

:evil: :evil: :evil:

Posté : 24 juin 2005, 11:08
par zeus
Vu qu'il a posté à la même heure, je pense que c'est plus un simple multi-postage qu'un réel foutage de tête

Mais tu as raison, c'est assez gonflant