Champs <select> [Résolu]

Signaler
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
-
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
-
Salut tout le monde je voudrai savoir comment on fait pour afficher le résultat d'une requête select comme options !!!!

Merci d'avance                                                                                                                                                                                                                                      nicomilville

20 réponses

Messages postés
1154
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
15 août 2009
15
J'ai compris... enfin je pense...

Fais
echo "\t<option value="$options['pseudo'].value">$options['pseudo']</option>\n";

ou

echo "\t".'<option value="'.$options['pseudo'].'.value">'.$option.'</option>'."\n";

*****
noisy communication - wherever, be everywhere!
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
33
La solution se raprochait de la deuxième possibilité :

echo "\t".'<option value="'.$options['pseudo'].'.value">'.$options['pseudo'].'</option>'."\n";

au lieu de :

echo "\t".'<option value="'.$options['pseudo'].'.value">'.$option.'</option>'."\n";

sinon ça m'affichait un select miltiple vide ou il y avait deux éléments invisible que je pouvait selectionner vu que la variable $option n'existe pas c'est $options qui existe !!!!

Merci de ton aide !!!

 
Messages postés
694
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
8 janvier 2014
15
<?php
$options = resultat_de_ta_requete_qui_donne_des_enregistrements_contenant_une valeur_et_un_texte_pour_chaque_option("ouf !");

echo "<select>\n";
foreach ($options as $option) {
   echo "\t<option value=".$option.value.">".$option.text."</option>\n";
}
echo "</select>\n";
?>

Enfin il faudra adapté...
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
33
Salut voici mon code, il m'affiche un select vide !!!!

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<title>Espace d'administration</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
</head>

Bonjour, bienvenue dans l'espace d'administration !!!

Activer des comptes :

<?php
$options = mysql_query("SELECT pseudo FROM membres WHERE `actif`=''");


echo "<select>\n";
foreach ($options as $option) {
   echo "\t<option value=".$option.value.">".$option.text."</option>\n";
}
echo "</select>\n";
?>

</html>






 
Messages postés
1154
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
15 août 2009
15
Il te manque un
mysql_fetch_array


*****
noisy communication - wherever, be everywhere!
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
33
c'est a dire !!!!
comment faire pour l'inclure, ou ????

 
Messages postés
1154
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
15 août 2009
15
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
33
salut, j'ai le code suivant :

$result = mysql_query("SELECT pseudo FROM membres WHERE `actif`=''");
$options = mysql_fetch_array($result);


echo "<select name='inactif' multiple='true'>\n";
foreach ($options as $option) {
   echo "\t<option value=".$option.value.">".$option.text."</option>\n";
}
echo "</select>\n";

Mais dans mon <select> il n'y a que :
nicolastext
nicolastext
Messages postés
1154
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
15 août 2009
15
T'as mal regardé la doc...

$result = mysql_query("SELECT pseudo FROM membres WHERE `actif`=''");

echo "<select name='inactif' multiple='true'>\n";

while($options = mysql_fetch_array($result)){
    foreach ($options as $option) {
       echo "\t<option value=".$option.value.">".$option.text."</option>\n";
   }
}
echo "</select>\n";

Ceci dit, dans ton cas je ferais:

$result = mysql_query("SELECT pseudo FROM membres WHERE `actif`=''");

echo "<select name='inactif' multiple='true'>\n";
while($options = mysql_fetch_array($result))

       echo "\t<option value=".$options['pseudo'].value.">".$option.text."</option>\n";

echo "</select>\n";

car tu n'as pas besoin du foreach

*****
noisy communication - wherever, be everywhere!
Messages postés
694
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
8 janvier 2014
15
$options = resultat_de_ta_requete_qui_donne_des_enregistrements_contenant_une valeur_et_un_texte_pour_chaque_option("ouf !");

Dans ta requête y'a qu'un texte, pas de valeur.

SELECT id, pseudo FROM membres ...

id -> value
pseudo -> text
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
33
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\Program Files\wamp\www\index.php on line 90

cette erreur concerne cette ligne : echo "\t<option value=".$options['pseudo'].value.">".$option.text."</option>\n";

 
Messages postés
1154
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
15 août 2009
15
Il y a effectivement une chtite erreur, écris plutôt ça:

echo "\t<option value="$options['pseudo'].value">$option.text</option>\n";

Je pense que ça devrait jouer ainsi

*****
noisy communication - wherever, be everywhere!
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
33
il y a toujours la même erreur je te met tout le code :

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<title>Espace d'administration</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
</head>

Bonjour, bienvenue dans l'espace d'administration !!!

Activer des comptes :

<?php
$result = mysql_query("SELECT pseudo FROM membres WHERE `actif`=''");


echo "<select name='inactif' multiple='true'>\n";
while($options = mysql_fetch_array($result))
       echo "\t<option value="$options['pseudo'].value">$option.text</option>\n";
echo "</select>\n";
?>

</html>






 
Messages postés
1154
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
15 août 2009
15
j'suis pas bien réveillé dis donc, effectivement j'avais laissé trainer une erreur :-)

Content que ça marche et au plaisir!

*****
noisy communication - wherever, be everywhere!
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
33
puis je te poser une dernière question en rapport avec la suite de ce script ?

 
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
33
c'est pas grave, je veut juste te demander comment faire pour que quand je clique sur le bouton valider de type submit  dans ma table membres 'oui' soit rajouté dans le champs actif des membres dont le pseudo était selectionné dans la liste ?
Messages postés
1154
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
15 août 2009
15
comme t'as un select multiple, le $_POST va te retourner un tableau $_POST['inactif'] si ma mémoire est bonne => tu traites un à un le contenu du tableau.

Mets un print_r($_POST) dans le fichier qui traite le post, tu verras ce qui est envoyé...

*****
noisy communication - wherever, be everywhere!
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
33
ok je vais essayer mais tu est sur qu'il ne faut pas de requête, tu peut me mettre un exemple ???

 
Messages postés
1154
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
15 août 2009
15
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
33
donc en gros je rajoute des crochet au nom de mon tableau et je fait appelle a lui par la methode post, ensuite je met une variable $actif = $_POST['nom_du_select_multiple[]'] et fais une requête pour ajouter oui dans le champs actif des pseudos des membres qui sont dans le tableau post !!!
Mais il me faut un peut d'aide pour mettre en pratique !!!