Chargement

Eléphanteau du PHP | 46 Messages

08 févr. 2012, 22:55

Bonsoir.

J'aurais voulu savoir comment faire pour charger l’élément d'une liste déroulante lors du chargement de la page.

Voici mon code :
$query = mysql_query("SELECT DISTINCT console FROM jeux ORDER BY console;") or die (mysql_error());
if ($query) {
    echo '<form method="post">';
   	 echo '<select name="choix" onchange="this.form.submit()">';
    while ($array = mysql_fetch_assoc($query)) {
        if ($choix == $array["console"]) {
            echo '<option value="' . $array['console'] . '" selected>' . $array['console'] . '</option>';
        } else {
            echo '<option value="'.$array['console'] . '">' . $array['console'] . '</option>';
        }
    }
    echo '</select>'; 
Merci de l'aide que vous pourrez m'apporter.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

08 févr. 2012, 23:08

Je ne comprends pas ce que tu veux faire... est-ce que tu peux nous donner plus d'informations ?
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 46 Messages

08 févr. 2012, 23:19

Désolé, je pensais m'être clairement expliqué.

Voilà, j'ai la balise <select> pour ma liste déroulante, lorsque je clique sur une valeur de la liste, les données de la table concernant la valeur sont affichées.

Je cherche à savoir comment afficher les données de la valeur sélectionnée au chargement de la page. C'est à dire charger le premier élément de la liste lors de l'ouverture de la page.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

08 févr. 2012, 23:32

Ok, alors pour que ta valeur soit sélectionnée par défaut dans ta liste, il faut que tu donnes une valeur par défaut à ta variable $choix. Ainsi, si une valeur est envoyée par le formulaire, tu prends cette valeur, sinon, tu spécifies la valeur par défaut à utiliser :
if (isSet($_POST['choix']))
  $choix = $_POST['choix']);
else
  $choix = 'xxx';
Ainsi, au premier chargement, le reste de ton code s'exécutera comme si la valeur xxx avait été choisie :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 46 Messages

08 févr. 2012, 23:45

Je ne t'avais pas précisé que j'avais ce code avant celui que j'ai fourni :
	$choix = isset($_POST['choix']) ? $_POST['choix'] : '';
Dois je mettre le tien à la place ou bien l'inséré en dessous, j’avoue que je sèche un peu sur ta réponse.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

09 févr. 2012, 00:31

En fait ton code est équivalent au mien, si ce n'est qu'au lieu de 'xxx' comme valeur par défaut tu utilise une chaine vide ''.

Il te suffit donc de remplacer celle ci par la valeur que tu souhaites utiliser comme choix par défaut, et ton code traitera celui-ci comme s'il venait d'être envoyé par l'utilisateur :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 46 Messages

09 févr. 2012, 01:00

Erf, je me disais bien que ce n'était pas très dur, merci de ta réponse, sujet résolue.