rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

Liste déroulante par methode get

dutty, le lundi 10 mars 2008 à 14:56:07
Bonjour à tous,

Ce ne sera pas long du moins je pense .. je vous explique mon problème.
Souahitant une methode simple pour actualiser une liste déroulante apres selection sur une premiere j'ai lu sur un forum qu'tiliser la methode du get pouvait etre une bonne alternative quand on a pas le temps de se mettre au java.

Donc en fait j'ai deux listes 'nom' et "prénom"
Lorsque je choisis un nom et que je click sur valider , les prénoms correspondant s'affiche mais la case "nom" me remet le premier nom de l'alphabet . Je vous illustre mon probleme par un exemple.

J'ai 3 nom :adel , bordel ,cervelle (oui je sais )
admettons que pour bordel j'ai deux prenoms .
Je click sur bordel je valide la il m'affiche les deux prenoms mais en nom il m'a remis adel (le premier).
Comment puis je faire pour éviter ceci d'autant qu'une fois ces deux champs fini je souhaiter les rebalancer sur une autre page par post ce coup ci.

Je vous mail le code merci de votre attention.

<html>
<p align="center"><font color="#0000FF" size="5"> Enregistrement</font>
<body bgcolor="#BBEBC4">
<HR>
<BR>
<?php
mysql_connect("localhost", "root", "")or die ("erreur de connexion");
mysql_select_db("test")or die ("erreur de connexion à la base");
?>

<table>
<form name="nom">
<TR><TD>
Nom : <SELECT NAME='nom' size='0,20' method="get">
<?php
$sql = "SELECT distinct * FROM t_beneficiaire ORDER BY nom_beneficiaire" ;
$res= mysql_query($sql);

while($val=mysql_fetch_array($res)) {
echo "<option>".$val["nom_beneficiaire"]."</option>\n";

}
?>
<input type="submit" value="Valider" />

<form name="prenom">
<TR><TD>
Prénom : <SELECT NAME='prenom' size='0,20' selected='choisir le prénom'>
<?php
$sql = "SELECT prenom_beneficiaire FROM t_beneficiaire where nom_beneficiaire='".$_GET[nom]."'" ;
$res= mysql_query($sql);

while($val=mysql_fetch_array($res)) {
echo "<option>".$val["prenom_beneficiaire"]."</option>\n";
}
?>
</table>
</SELECT>
</form>
</table>
Configuration: Windows XP
Firefox 2.0.0.12
Répondre à dutty  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
giheller, le lundi 10 mars 2008 à 15:16:09
Bonjour,
essaies un truc dans ce genre :

<form name="nom">
<TR><TD>
Nom : <SELECT NAME='nom' size='0,20' method="get">
<?php
$sql = "SELECT distinct * FROM t_beneficiaire ORDER BY nom_beneficiaire" ;
$res= mysql_query($sql);

while($val=mysql_fetch_array($res)) {
echo "<option>".$val["nom_beneficiaire"];
if ($_GET[nom]==$val["nom_beneficiaire"]) echo 'selected';
echo "</option>\n"­;;

}
?>

JL,  m'enfin c'est juste mon avis @+
se faire aider, n'est pas faire faire son travail
Répondre à giheller

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
dutty, le lundi 10 mars 2008 à 15:26:09
re giheller ,

Tout d'abord merci pour ta réponse , j'ai essayer de modifier avec ta ligne mais sans plus de résultat. lorsque je valide , il me trouve bien les prénoms correspondant donc ma requête passe bien mais par contre il me remet le premier nom.
Répondre à dutty

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Reivax962, le lundi 10 mars 2008 à 15:26:22
Bonjour,

Alors, pour commencer, ton code html est très bizarre :
- deux </table> pour un seul <table>
- des balises différentes de <tr> directement sous <table>
- des <option> sans value
- des cellules de tableau non fermées
- des <p> non fermés
- un <p> en dehors de <body> !
et d'autres choses mais qui, à côté de ces 6 premières, font figure de détails ;)

Ensuite, si tu ne demandes pas à ta page de préselectionner le nom qui vient d'être choisi, il n'y a aucune raison pour qu'elle le fasse.

Ce qui donne, au final :
<html>
    <body bgcolor="#BBEBC4">
        <p align="center"><font color="#0000FF" size="5"> Enregistrement</font></p>
        <HR>
        <BR>
<?php
    mysql_connect("localhost", "root", "")or die ("erreur de connexion");
    mysql_select_db("test")or die ("erreur de connexion à la base");
?>

        <table>
            <tr>
                <td>
                    <form name="nom" method="GET">
                        Nom : <select name='nom' size='0,20'>

<?php
    $sql = "SELECT distinct * FROM t_beneficiaire ORDER BY nom_beneficiaire" ;
    $res= mysql_query($sql);

    while($val=mysql_fetch_array($res))
    {
        if (isset($_GET['nom']) && $val['nom_beneficiaire'] == $_GET['nom'])
            $selected = " selected='selected' ";
        else
            $selected = "";
        echo "<option $selected value='{$val['nom_beneficiaire'}'>{$val["nom_beneficiaire"]}</option>\n"­;
    }
?>
                        </select>
                        <input type="submit" value="Valider" />
                    </form>
                </td>
            </tr>
            <tr>
                <td>
                    <form name="prenom" method="GET">
                        Prénom : <select name='prenom' size='0,20'>
<?php
    if (isset($_GET['nom']))
    {
        $sql = "SELECT prenom_beneficiaire FROM t_beneficiaire where nom_beneficiaire='{$_GET['nom']}'";
        $res= mysql_query($sql);

        while ($val=mysql_fetch_array($res))
        {
            echo "<option value='{$val['prenom_beneficiaire']}'>{$val["prenom_beneficiaire"]}</option>\n";
        }
    }
?>
                        </select>
                    </form>
                </td>
            </tr>
        </table>
        [...]
    </body>
</html>
Cela te convient-il ?

Xavier
Répondre à Reivax962

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
dutty, le lundi 10 mars 2008 à 15:49:32
Merci xavier de ton investissement ,effectivement beaucoup beaucoup d'erreur de code je me doute bien mais je part un peu dans tous les sens a cause du manque de connaissance dans le domaine et comme a l'affichage les buggs n'apparraissent pas je ne m'en souciais guère.
J'ai modifier mon code par le tiens une ligne pose probleme , celle ci
value='{$val['nom_beneficiaire'}'>{$val["nom_beneficiaire"]}</option>\n­"­;

ne la comprenant pas trop j'ai du mal a la debugger pour te dire si oui ou non cela affiche bien ce que j'aimerais .
Merci
Répondre à dutty

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Reivax962, le lundi 10 mars 2008 à 15:56:27
Mmmmh, tente ça alors :

value='{$val['nom_beneficiaire']}'>{$val["nom_beneficiaire"]}</option>\n­­"­;

Il manquait un ] ^^
En fait, les accolades {} permettent, à l'intérieur d'une chaine de caractères "", d'isoler une variable pour que sa valeur soit affichée.
Répondre à Reivax962

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
giheller, le lundi 10 mars 2008 à 15:27:58
alors il faut modifier certian nom car le name du formulaire correspond aussi au nom de la variable passée en get....et donc tester si le contenu de la variable get correspond à ce que l'on affiche pour faire echo selected. JL,  m'enfin c'est juste mon avis @+
se faire aider, n'est pas faire faire son travail
Répondre à giheller

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
dutty, le lundi 10 mars 2008 à 15:58:26
re ,
ok pour les accolades mais toujours en erreur ..

Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in F:\php\index.php on line 29
Répondre à dutty

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
giheller, le lundi 10 mars 2008 à 16:14:43
voilà un code qui fonctionne dans une application;
$rs_codevb est le tableau des valeurs
$nb_codevb contient le nbre de valeur

à adapter

<select name="codvba">
<?php
for ($j=0;$j<$Nb_codevb;$j++){
?>
<option <?php
if ($Rs_codevb[$j]['CODEVBA'] == $tp05[codvba]) echo ' selected ';
?>
value="<?php echo $Rs_codevb[$j]['CODEVBA']; ?>">
<?php echo $Rs_codevb[$j]['CODEVBA']; ?></option>
<?php } ?>

</select> JL,  m'enfin c'est juste mon avis @+
se faire aider, n'est pas faire faire son travail
Répondre à giheller

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 dutty, le lundi 10 mars 2008 à 16:27:55
merci giheller jvais essayer aussi ta méthode .
Répondre à dutty
Listes déroulantes simples avec ExcelDans votre tableau, vous souhaitez insérer un texte ou une valeur choisi dans une liste (déroulante). vous créez votre liste, ligne aprés ligne, sur votre feuille en cours ou sur une autre feuille du classeur en cours. vous la nommez : INSERTION... www.commentcamarche.net/faq/sujet-8674-listes-deroulantes-simples-avec-excel
[php/AJAX] Listes déroulantes (Résolu)Bonjour, J'ai un petit problème de listes déroulantes. J'ai beau cherché sur différents forums je ne trouve pas la réponse à ma question. J'ai 2 listes déroulantes ('familles' et 'sous-familles') issues directement... www.commentcamarche.net/forum/affich-2188286-php-ajax-listes-deroulantes
Excel - Liste déroulante conditionnelle (Résolu)Bonsoir, Je voudrais arriver à créer sous Excel une liste déroulante dont le contenu affiché serait fonction de la valeur de la cellule d'avant (qui est elle-même une liste déroulante). Pour être plus clair, j'ai une liste de services... www.commentcamarche.net/forum/affich-4918759-excel-liste-deroulante-conditionnelle
Fonction onchange sur une liste deroulante my (Résolu)Bonjour, je cherche comment utiliser la fonction on change avec une liste deroulante qui me liste une table d'une base mysql. je m'explique le liste les données n_serveur et je souhaiterai quand je selectionne une des donnees... www.commentcamarche.net/forum/affich-2800630-fonction-onchange-sur-une-liste-deroulante-my
Créer une Liste déroulante (Word 2003) (Résolu)Bonjour, Je souhaite insérer dans un questionnaire sous Word 2003 une liste déroulante. Pour cela, je vais dans Affichage, Fomulaires, j'appuie sur l'icone Liste déroulante de formulaire, mais après je n'arrive pas à insérer la liste de... www.commentcamarche.net/forum/affich-4890178-creer-une-liste-deroulante-word-2003
Liste déroulante excel vba (Résolu)Salut a tous je suis en train de faire un petit programme sous excel avec des macros. je souhaite créer une liste déroulante sur ma feuille excel, ajouter des données présentes dans un tableau que je crée en vba et choisir dans ma liste sur ma feuille... www.commentcamarche.net/forum/affich-1266881-liste-deroulante-excel-vba
Toutes les réponses pour « liste déroulante par methode get »