Aller au contenu

Probleme de formulaire


Himself

Sujets conseillés

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 :thumbsdown:

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

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

mouarf, je suis con :hypocrite:

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" ?

Lien vers le commentaire
Partager sur d’autres sites

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 ?

Lien vers le commentaire
Partager sur d’autres sites

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é par Gab23
Lien vers le commentaire
Partager sur d’autres sites

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>

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...