Himself Posté 15 Juillet 2006 Posté 15 Juillet 2006 Bonjour, J'éssaye dans un formulaire d'apeler les données de mon menu déroulant depuis ma base de donnée, mais sans succes Je m'explique : je galère au niveau de la boucle d'affichage des criteres du menu déroulant... J'ai éssayé comme ceci type d'annuaire<br /><?php$req = mysql_query('select `id`, `genre` from choix');echo '<select name="type">';while($choix = mysql_fetch_array){ echo '<option value="'.$choix[0].'">'.$choix[1].'</option>';}echo '</select>';?> mais quand je charge ma page mon script tourne sans fin, pour me généré des "y" dans le menu déroulant. Peut-être est-ce la configuration de mon champ genre, qui est en varchar(32) ? Cordialement
TheRec Posté 15 Juillet 2006 Posté 15 Juillet 2006 Bonjour, il faut passer une ressource MySQL à la fonction mysql_fetch_array... la ressource MySQL en question tu l'as créée avec la fonction mysql_query juste avant... donc modifie la ligne : while($choix = mysql_fetch_array) par while($choix = mysql_fetch_array($req)) Et ça fonctionnera. P.S. : Le format du champ n'est pas très important... le typage de PHP n'est pas si fort, d'ailleurs les données sont récupérées en chaînes de caractères.
Himself Posté 15 Juillet 2006 Auteur Posté 15 Juillet 2006 mouarf, je suis con Et euh, comment je peux faire pour récuperer ces données & les republier ailleurs ? Je dois juste me contenter de récupêrer "type" ?
ybet Posté 15 Juillet 2006 Posté 15 Juillet 2006 transfère dans une variable tableau PHP $i=0 while ... { array= ... $i=$i+1; }
Himself Posté 15 Juillet 2006 Auteur Posté 15 Juillet 2006 Salut ybet, merci de ton aide, mais "c'est quoi une variable tableau ? fetch_array ? tu ne pourrais pas me donner un exemple selon mon code énoncé ci-dessus ?
Gab23 Posté 16 Juillet 2006 Posté 16 Juillet 2006 (modifié) c'est quoi une variable tableau ? fetch_array ? Pas tout à fait. Un tableau est en fait une association de valeurs avec des clés. Ces tableaux permettent de stocker plusieurs valeurs dans une seule et même variable. Chacune de ses valeurs est associée à une clé. Par exemple, le tableau suivant permet de sotcker un classement de couleurs. <?$tableau = array( 1 => "rouge"; 2 => "bleu"; 3 => "jaune";);?> Là, les trois valeurs rouge, bleu et jaune sont associée respectivement aux clés 1, 2 et 3. Par la suite, on peut réutiliser les valeurs comprises dans ce tableau comme ceci. <?echo $tableau[1]; // Affichera "rouge"echo $tableau[2]; // Affichera "bleu"...?> Comme tu peux le voir, dans un tableau, la clé associée à une valeur est inscrite entre des crochets lors de l'appel au tableau. Dans l'exemple de ybet, le tableau était créé par une boucle qui associe dynamiquement les valeurs aux clés dans le tableau. Voici donc ce qui devrait se retrouver dans ton code. type d'annuaire<br /><?php$i = 0; // On initialise le compteur à zéro$tableau = array(); // On initialise le tableau$req = mysql_query('select `id`, `genre` from choix');echo '<select name="type">';while($choix = mysql_fetch_array($req)){ $tableau[$i] = $choix[0]; echo '<option value="'.$choix[0].'">'.$choix[1].'</option>'; $i++;}echo '</select>';?> Modifié 16 Juillet 2006 par Gab23
Himself Posté 16 Juillet 2006 Auteur Posté 16 Juillet 2006 Bon, oki pour le tableau j'ai compris, mais comment réexporter ces données ? Je m'explique j'ai un formulaire ou moi j'encode des données. Quand j'encode la donnée je sélectionne le type de donnée (menu déroulant) maintenant sur ma page quand je clique sur "envoyer" il faudrai bien évidement qu'il enregistre pour cette donnée son "type" de facon à ce que quand je regarde les données côté visiteur il puisse tenir compte du type. vous m'avez compris ? voici ma page // Ajout du lien dans la base de donnée$result = mysql_query("SELECT url FROM liens WHERE url = '" . $url . "'") or die(mysql_error());if(mysql_num_rows($result) == 0){ //ajouter l'url mysql_query("INSERT INTO liens VALUES('','" . $url . "','" . $nom . "', '" . $type . "', '" . $urlsubmit . "')"); echo 'l\'annuaire <u><b>'.$nom.'</b></u> à été ajouté dans la liste';}else { echo 'L\'annuaire <u><b>'.$nom.'</b></u> est déja présent dans la liste';} ?> <form action="add-liens.php" method="post" enctype="multipart/form-data"> <p><b>Nom de l'annuaire</b> : <input type="text" size="30" name="nom" value="" /> <b>type d'annuaire</b> : <?php $i = 0; $req = mysql_query('select `id`, `genre` from choix'); echo '<select name="type">'; while($choix = mysql_fetch_array($req)) { $tableau[$i] = $choix[0]; echo '<option value="'.$choix[0].'">'.$choix[1].'</option>'; $i++; } echo '</select>'; ?> </p> <p><b>Url de la page d'accueil de l'annuaire</b> :<br /><textarea name="url" cols="50" rows="1"></textarea><br /> <b>Url de la page de soumission de l'annuaire</b> :<br /><textarea name="urlsubmit" cols="50" rows="1"></textarea><br /> </p> <input type="hidden" name="id" value="<?php echo $id; ?>" /> <input type="submit" value="poster" /> </form>
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant