IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

recupérer une valeur dans une liste de choix [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Homme Profil pro
    Rédacteur technique
    Inscrit en
    Décembre 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Rédacteur technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 18
    Points : 10
    Points
    10
    Par défaut recupérer une valeur dans une liste de choix
    bonjour

    j'ai récupéré du code qui permet de le faire, mis ca ne marche pas:
    il s'agit d'un formulaire de saisie de cotisations annuelles, pour garnir une table pj_dos, contenant entre autres le champ pj_an.
    la liste de choix s'appuie donc sur une table pj_an , contenant ceci:
    pj_an_id/ pj_an_mt.
    2012 / 14
    2013 / 16

    code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    <?php
    	echo "<FORM NAME=\"enrdos\" ACTION=\"pJ_enrdos.php\" METHOD=\"post\"> \n  "; // saisie cotis
      	echo "  <INPUT NAME='appli' TYPE='HIDDEN' VALUE='".$appli."' >\n ";	
    	echo "  <INPUT NAME='flag_agt' TYPE='HIDDEN' VALUE='".$flag_agt."' >\n ";
    	echo "  <INPUT NAME='flag_maj' TYPE='HIDDEN' VALUE='".$flag_maj."' >\n ";
    	echo "  <INPUT NAME='AGT_code' TYPE='HIDDEN' VALUE='".$AGT_code."' >\n ";
    	echo "  <INPUT NAME='AGT_profil' TYPE='HIDDEN' VALUE='".$AGT_profil."' >\n ";
    	echo "  <INPUT NAME='ADH_num' TYPE='HIDDEN' VALUE='".$ADH_num."' >\n ";
    ?>	
     
    	<TR><TD>  Année </TD><TD><SELECT NAME="pj_an">
     
    <?php
    //                   c'est ici que ca se passe...
    	$sql = "SELECT pj_an_id, pj_an_mt FROM pj_an order by pj_an_id desc";
    	$rs=mysql_query($sql);
    	while($lg=mysql_fetch_array($rs))
    	{
    	    print("<OPTION VALUE=".$lg["pj_an_mt"].">".$lg["pj_an_id"]."</OPTION>");
    	}
    ?>
    	 </SELECT></TD></TR>
     
    	 <TR><TD width=15%>Date</TD><TD><TEXTAREA NAME="pj_date" COLS=10 ROWS=1></TEXTAREA></TD></TR>
         <TR>   <TD>&nbsp;</TD>   </TR>
     	 <TR><TD>Montant dû</TD><TD><TEXTAREA NAME="pj_mtdu" COLS=10 ROWS=1
     
    etc....
    La liste de choix s'ouvre bien, je peux sélectionner une valeur (2012 ou 2013)
    l'enchainement sur pj_enrdos.php récupère bien toutes les variables, sauf pj_an

    si vous voyez pourquoi...
    merci d'avance

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il manque des guillemets autour de ta valeur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<OPTION VALUE="'.$lg["pj_an_mt"].'">'.$lg["pj_an_id"].'</OPTION>';
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre à l'essai
    Homme Profil pro
    Rédacteur technique
    Inscrit en
    Décembre 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Rédacteur technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 18
    Points : 10
    Points
    10
    Par défaut PS: comment récupérer la valeur du 2ème champ de la table dans le formulaire?
    merci sabot

    heu..., non ,en fait, j'avais tout betement inversé les champs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    print("<OPTION VALUE=".$lg["pj_an_mt"].">".$lg["pj_an_id"]."</OPTION>");
    
    c'est mieux comme ceci: 
    
    print("<OPTION VALUE=".$lg["pj_an_id"].">".$lg["pj_an_mt"]."</OPTION>");
    PS: tu vois le champ pj_an_mt obtenu depuis la table pj_an ( c'est le montant de la cotisation annuelle pour 1 personne); j'ai par ailleurs dans la table adhérent, ouverte sur un adhérent donné, le champ adh_nb, qui est le nombre de personnes.
    je voudrais afficher le résultat (pj_an_mt * adh_nb) pour le mettre dans la table pj_dos, qui contient les cotisations dues et payées par chaque adhérent.

  4. #4
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    Salut

    c'est mieux comme ceci:

    print("<OPTION VALUE=".$lg["pj_an_id"].">".$lg["pj_an_mt"]."</OPTION>");
    C'est mieux effectivement pour avoir rectifié l'inversion des 2 données de cette balise <option>.

    Mais tu n'a pas tenu compte du code qu'a mis Sabotage, qui pourtant serait bon d'appliquer (à part l'inversion des variables tu tableau $lg).


    En faite ton code Php va générer un code HTML comme ceci :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <OPTION VALUE=50>100</OPTION>
    Ce n'est pas totalement correcte dans la mesure où il est très fortement recommandé de mettre des doubles quotes (ou guillements) entre les valeurs, des délimiteurs.

    En somme de générer un code HTML comme ceci :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <OPTION VALUE="50">100</OPTION>
    C'est le code qui t'a été proposé.
    De plus, on te propose aussi d'utiliser "echo" plutôt que "print".

    Dans ce genre de cas c'est plus simple dans la mesure ou "echo" n'est pas une fonction mais une instruction du langage (tout comme include, require), les parenthèses du coup sont optionnelles, il y en a pas vraiment besoin, c'est donc limite inutile.


    Petit exo pratique, juste pour bien commencer l'année :
    Essai de générer un code HTML où une balise <p></p> contiendra un attribut "title" avec comme contenu :
    Exemple de contenu avec une ' (apostrophe) et un " (guillemet).
    Un code HTML comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <p title="La phrase en question ici">Petit exo</p>
    Tu fais comment à la fois "en dur" en HTML mais aussi en Php avec un echo (ou print) ?

    je voudrais afficher le résultat (pj_an_mt * adh_nb) pour le mettre dans la table pj_dos
    Le mieux est de faire le calcul (multiplication) lorsque les données seront obtenues après soumission du formulaire, c'est plus fiable.

    Si malgré cela tu souhaite quand même afficher ce calcul lorsque l'utilisateur sélectionne un des choix parmi le <select> (menu déroulant), il faudra t'orienter vers du JS (javascript).



    PS : Bonne année 2013
    Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
    Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]

  5. #5
    Membre à l'essai
    Homme Profil pro
    Rédacteur technique
    Inscrit en
    Décembre 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Rédacteur technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    merci beaucoup et bonne année 2013

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/04/2015, 11h17
  2. Réponses: 2
    Dernier message: 24/02/2009, 17h40
  3. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48
  4. Réponses: 1
    Dernier message: 25/09/2006, 17h15
  5. Mettre une valeur d'une table dans une variable
    Par Raphou96 dans le forum Access
    Réponses: 5
    Dernier message: 06/02/2006, 15h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo