Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1354 connectés 

  FORUM HardWare.fr
  Programmation

  pb PHP + formulaire HTML

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

pb PHP + formulaire HTML

n°73074
Iria_hime
Pseudo ACNH : Iria
Posté le 17-11-2001 à 17:20:20  profilanswer
 

bonjour mon problème c que dans un formulaire j'ai 1 liste de choix (select) et je veux que les choix de cette liste proviennent de ma base de données.
Il n'y a pas d'erreurs dans le code car la page se lance bien, mais il n'apparait rien dans ma liste !!
voici mon code :
 
<TD>Votre catégorie :</TD>
<TD><SELECT name="categorie">
   <?php
   $requet = "select LibCat from categoriepers";
   $result = mysql_query($requet);
 
   while($cat = mysql_fetch_row($result)){
   $LibCat = $cat[0];
   ?><OPTION NAME='<?php $cat[1] ?>'> <?php $cat[0] ?></OPTION>;
   <?php
   }   ?>
</TD>
 
Je sais que ca ne va pas du tout (ca se voit d'ailleur!!). J'ai essaye de faire : echo "<OPTION NAME=.....";   mais ca faisait pareil alors si quelqu'un aurait une idée merci de me la soumettre.

mood
Publicité
Posté le 17-11-2001 à 17:20:20  profilanswer
 

n°73095
ethernal
Chercheur de vérité...
Posté le 17-11-2001 à 17:54:50  profilanswer
 

comment se fait-il que ton tableau $cat ait 2 dimensions alors que ta requête ne porte que sur 1 seul champ LibCat ???
D'ailleur, ta requête est-elle correcte et te donne-t-elle un résultat ? (les majuscules sont importantes)

n°73099
Iria_hime
Pseudo ACNH : Iria
Posté le 17-11-2001 à 18:08:16  profilanswer
 

2 dimension??
 
excuse moi mais je suis novice alors je me contente de reprendre ce que je trouve sur les sites de PHP. je pensais que $cat[0] contiendrait à l'indice 0 du tableau la valeur voulu et que $cat[1]contiendrait une valeur à l'indice 1 ! je ne pensait pas que ca faisait 2 dimensions! dans ce cas ce serait sympa de m'expliquer un peu cette histoire!
 
sinon ma requete fonctionne bien je l'ai testé directement dans mysql et elle renvoie exactement ce qu'il faut.

n°73135
Iria_hime
Pseudo ACNH : Iria
Posté le 17-11-2001 à 20:34:19  profilanswer
 

allez s'il vous plait. c hyper important j'y arrive pas du tout!! ca fait plusieurs heures que je me galère alors que g pas bocoup de temps devant moi ! :sweat:
 
peut etre que ct pas très clair. je sais comment récupérer des données venant d'un formulaire, mais je voudrais faire le contraire : mettre des données provenant de ma base dans un formulaire.  
 
plizzzzzzz

n°73145
ethernal
Chercheur de vérité...
Posté le 17-11-2001 à 21:10:07  profilanswer
 

je me suis mal exprimé  :ange:  
ton tableau ne fait pas 2 dimensions, mais normalement si j'ai bien lu la doc php (vi je n'utilise jamais mysql_fetch_row() ), ils disent que ça retourne un tableau qui commence à l'indice 0 et qui contient les champs demandés lors de la requête.
 
Donc je suppose que si tu ne demandes qu'un seul champs, tu ne dois avoir que l'indice 0 de ton tableau de remplit... et pas le 1, ...
 
si tu veux 2 valeurs faudrait mettre qqch du genre
"select id, LibCat from categoriepers"
 
au fait tu as un ; qui traîne après le </option>
il te faut aussi un </select> avant ton </td>

 

[edtdd]--Message édité par ethernal--[/edtdd]

n°73155
Mara's dad
Yes I can !
Posté le 17-11-2001 à 21:24:26  profilanswer
 

Essaye çà :
 
<TD>Votre catégorie :</TD>  
<TD><SELECT name="categorie">  
<?php  
 $requet = "select LibCat from categoriepers";  
 $result = mysql_query($requet);  
                             
 while($cat = mysql_fetch_row($result))
 {  
        echo( "<OPTION>$cat[0]</OPTION>" )
 }
?>
</TD>  
 
Avec çà, tu as un champ de formulaire qui se nom "categorie", et dont le script PHP qui récupère les valeurs du formulaire a une variable $categorie avec l'option choisie.
 
Y'a pas de "NAME=" sur OPTION en Html !
A quoi çà servirait ?
Y'a un ID, mais c'est pour pouvoir manipuler la valeur des options en Javascript.
 
A+


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°73158
ethernal
Chercheur de vérité...
Posté le 17-11-2001 à 21:32:59  profilanswer
 

ouaip tout à fait.
perso je trouve ton code plus clair Mara's dad, mais j'ai pas osé ;) pour pas l'embrouiller tout de suite :lol:
 
pas de NAME, mais il y a un VALUE, c'est sans doute ça que tu voulais...

n°73159
Mara's dad
Yes I can !
Posté le 17-11-2001 à 21:36:24  profilanswer
 

Ethernal a raison, il manque le VALUE de OPTION !
 
<TD>Votre catégorie :</TD>  
<TD><SELECT name="categorie">  
<?php  
   $requet = "select LibCat from categoriepers";  
   $result = mysql_query($requet);  
 
   while($cat = mysql_fetch_row($result))  
   {  
      echo( "<OPTION VALUE='$cat[0]'>$cat[0]</OPTION>" )  
   }  
?>  
</TD>


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°73162
Iria_hime
Pseudo ACNH : Iria
Posté le 17-11-2001 à 21:48:36  profilanswer
 

comme je l'avais dis j'avais essayé avec echo "..."; mais ca n'avait pas marché, g continué avec cette méthode plus complexe j'avoue parce que je l'avais vu faite dans un code ASP.
 
sinon en effet je pense que NAME dans option ne sert à rien d'ailleur il me posait problème mais je l'ai vu sur commentcamarche.com lorsque g regardé comment on faisait un formulaire.
 
par contre sur le </select> je suis impardonnable!!
 
voici mon code modifié :
<TR>
<TD>Votre catégorie :</TD>
<TD><SELECT name="categorie">
   <?php
   $requet = "select LibCat from categoriepers";
   $result = mysql_query($requet);
 
   while($cat = mysql_fetch_row($result)){
      $LibCat = $cat[0];
      echo( "<OPTION>$cat[0]</OPTION>" );
   }
   ?>
</SELECT>
</TD>
</TR>
 
malheureusement ca ne fonctionne tjs pas!!

n°73165
Mara's dad
Yes I can !
Posté le 17-11-2001 à 22:12:59  profilanswer
 

Bien vu pour le </SELECT>
 
La ligne "$LibCat = $cat[0];" ne sert à rien
 
Remplace echo( "<OPTION>$cat[0]</OPTION>" ); par
echo( "<OPTION VALUE='$cat[0]'>$cat[0]</OPTION>" );
 
Ca marche pas, OK mais çà fait quoi ?
Le formulaire s'affiche ou pas ?
 
Donne un exemple de code généré pour le formulaire. (Dans ton navigateur, fait "Afficher le source" ou un truc du genre)


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
mood
Publicité
Posté le 17-11-2001 à 22:12:59  profilanswer
 

n°73170
Iria_hime
Pseudo ACNH : Iria
Posté le 17-11-2001 à 22:30:41  profilanswer
 

oki pour la ligne (comme pour le reste je l'ai vu faire et ca m'avait semblé logique et bien sur j'avais rien compris!)
 
sinon ça m'affiche bien ma page avec mon formulaire sauf qu'il n'y a rien dans ma liste.
 
g essaye de récupérer la source de la page web mais je sais pas pourquoi ca n'a rien fait du tout (et pourtant ca c pas compliqué c sur!!).

n°73171
Mara's dad
Yes I can !
Posté le 17-11-2001 à 22:39:42  profilanswer
 

Juste pour vérifier...
Tu n'oublie pas de te connecter à ta base MySql par hazard ?
 
Sinon, on peux la voir quelque-part cette page ?


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°73225
Iria_hime
Pseudo ACNH : Iria
Posté le 18-11-2001 à 10:24:57  profilanswer
 

au début j'avais oublié !! mais je l'ai fais et je c que ca marche bien.
 
sinon ces pages web ne sont pas faites pour être mises en ligne concrètement. je fais cette action pour mes études (BTS informatique de gestion ça fout un peu la honte de pas savoir résoudre les pb de programmation !! mais g une excuse : j'apprends toute seule ce langage!!)
 
je ne vois vraiment pas ce qui peut déconner g cherché et testé pleins de trucs différents mais ca calle complètement.
si tu veux bien m'aider (ou quelqu'un d'autre) je peut t'envoyer mon code complet sur ta boite.

n°73227
Mara's dad
Yes I can !
Posté le 18-11-2001 à 10:29:09  profilanswer
 

Envoie le code !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°73461
cooltwan
Posté le 19-11-2001 à 13:37:40  profilanswer
 

<form action="eleves.php" method="post">
 <input type="hidden" name="act" value="ajout">
 Prenom <input type="text" name="prenom" value=""><p>
 Nom <input type="text" name="nom" value=""><p>
 Groupe  
 <select name="ref_groupe">
 <?
$res0 = mysql_query("SELECT ref_groupe FROM groupes ORDER BY ref_groupe" );
 
while ($arr0 = mysql_fetch_object($res0)){
echo "<option value=\"$arr0->ref_groupe\" >$arr0->ref_groupe</option>";
}
 ?>
 </select>
 <p>
 <input type="submit" value="Valider">
</form>
 
La requete sql donne une colonne de  type chaine de caractere.
Puis chaque enregistrement de cette colonne est affiché dans une liste du formulaire.

 

[edtdd]--Message édité par cooltwan--[/edtdd]

n°73488
inhib
Posté le 19-11-2001 à 14:29:48  profilanswer
 

Hello !
Je suis au boulot donc pas trop le temps de voir les réponses données, mais sur ton script donné tout au début, quand tu fais tes <?php $cat[0] ?>, ben il manque tout simplement le print (ou le echo tu as le choix) .... <?php echo $cat[0] ?>  ... fo pas confondre avec l'asp où l'on peu se permettre un <%= cat[0] %> :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  pb PHP + formulaire HTML

 

Sujets relatifs
Problème c** en PHP 3 ! Help ![PHP] obtenir tous les paramètres entrants [get/post]
[HTML][JavaScript] changer le texte affiché sur la page[ PHP ] Que signifie cette erreur ?
[PHP]Besoin d'aide ![html-PHP] Deux actions pour un formulaire
[PHP / HTML ] Formulaire dans une frame...[HTML / PHP] pb de formulaire /!\ question aux pros !
HELP => Formulaire HTML + envoie bdd + pseudo frame PHP = gros pbFormulaire HTML (PHP?)
Plus de sujets relatifs à : pb PHP + formulaire HTML


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR