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

 


Dernière réponse
Sujet : pb PHP + formulaire HTML
inhib 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] %> :)

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
inhib 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] %> :)
cooltwan <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]

Mara's dad Envoie le code !
Iria_hime 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.
Mara's dad 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 ?
Iria_hime 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!!).
Mara's dad 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)
Iria_hime 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!!
Mara's dad 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>
ethernal 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...
Mara's dad 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+
ethernal 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]

Iria_hime 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
Iria_hime 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.
ethernal 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)
Iria_hime 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.

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