Pratique la couleur ;-)

Signaler
Messages postés
431
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
17 novembre 2008
-
Messages postés
208
Date d'inscription
mardi 13 avril 2004
Statut
Membre
Dernière intervention
26 janvier 2009
-
Bonjour,



J'aimerai récupérer les données d'une table dans un select multiple.



Voici ce que j'ai fait , je m'explique après :



<option value="<?php echo $recuperation_liste_associations[id]; ?>" <?php if(isset($valeur_modification)) {

$requete_selection_langues = mysql_query("SELECT id_langues FROM

applications_associations WHERE id_applications =
$valeur_modification");

while($recuperation_selection_langues =

mysql_fetch_array($requete_selection_langues)) { echo 'selected'; } } } ?>>

<?php echo $recuperation_liste_associations[libelle];
?></option>



Alors, je dis que si l'utilisateur à cliqué sur le bouton 'modifier', je vais chercher toutes les langues dans ma table qui correspondent à l'application selectionnée.

Et tant qu'il y a des langues (ainsi selectionnées), j'affiche un 'selected'.



Le message d'erreur suivant s'affiche : mysql_fetch_array(): supplied argument is not a valid MYSQL result resource [...]

3 réponses

Messages postés
112
Date d'inscription
jeudi 11 mars 2004
Statut
Membre
Dernière intervention
11 octobre 2006

l'idee est la, mais realisation est pas bonne ! :

ce que tu vas faire :
-commence etape par etape par
* recuperer les valeurs de ta table et les mettres dans ton array
$recuperation_liste_associations[ pas id mais 'id' ]

c'est bizarre t'as libelle à la fin c pas pareille? ...
* donc tu fais ta boucle while en dehors de ton formulaire,
tu met echo 'ce que tu recupere'; pour voir si c bon.
*tu met un compteur dans ta boucle while :
$nbligne = 0;
while ( ... ) {
...
$nbligne++;
}

-puis tu ecrit ton formulaire :
for ( $i=0; $i<=$nbligne; $i++) {
echo <option value="<?php echo $recuperation_liste_associations[$i]; ?>"...

...
}
tu dois avoir recupere toutes tes variables, et verifié que c bon avec un echo
que c bon .
puis ecrire ton formulaire.

comme tu as fait ton code , de toute facon ca peux pas marcher,
( sans prendre en compte l'erreur sql)
car tu as qu'un <option> value alors que tu crois en mettre plusieurs!

voila , je t'avoue que c'est pas gagné, mais si tu fais etape par etape comme
je te dis , tu poura mieux voir ou sont les pbs.

renvoie ton code corrigé si t'as tj un pb.
a+

stepiboum
Messages postés
208
Date d'inscription
mardi 13 avril 2004
Statut
Membre
Dernière intervention
26 janvier 2009

je ne suis pas un pro du sql, mais il y a un truc simple: to message veut dire que ce qui est retourné par mysql n'est pas un résultat normal. l'erreur vient donc de mysql. la pluspart du temps, c'est parce-que ta requête n'est pas bonne. ce qui est la cas ici: il faut mettre entre quillements le nom de ta talbe, et entre guillemets le $valeur_modification, quand tu veut que le champ contienne la même valeur, à moins que ce ne soit un nombre.
j'ai remarque chez moi que les guillemets font apparaitre des erreurs de synthaxe mysql, je ne sais pas pourquoi, il faut donc les remplacer pas des accents graves. ça te donne:

SELECT id_langues FROM
`applications_associations` WHERE id_applications = `$valeur_modification`

normalement, ça devrait marcher. sinon, utilise un or die('Erreur de select'.mysql_error()) apres ta fonction, et il devrait t'être retourné l'erreur rencontrée par mysql dans l'execution de ta requete.
je suis pret à parier que ce sera une erreur #1064!

une fois ton probleme de requete réglé, mysql retournera un résultat conventionnel, qui pourra être exploité par php, et donc ton erreur disparaitra!!!

ps: dsl pour les changements de bold dans ce message, mais l'interface de rédaction n'en fait qu'a sa tête
Messages postés
208
Date d'inscription
mardi 13 avril 2004
Statut
Membre
Dernière intervention
26 janvier 2009

lol, on a psoté en mm temps!