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 :

requête à partir de la sélection de ma liste déroulante


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2007
    Messages : 42
    Par défaut requête à partir de la sélection de ma liste déroulante
    Bonjour,

    J'ai une base de donnée mysql avec une table t_indep très simple contenant plusieurs champs, dont : "nom, prenom, date_arr"

    J'ai créé une liste déroulante qui m'affiche le nom et prénom de toutes les personnes qui sont dans ma base.

    Ce que j'aimerais et que je n'arrive pas à faire c'est que quand je selectionne une personne dans ma liste, ca m'affiche directement le champs date_arr

    voilà mon 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
    <body>
    <p><span class="Style1">Indépendants : </span>
      <?php
    // connection bdd + variable
    require('conf.php');
        mysql_selectdb("base1") or die("Connexion impossible");
     
      	echo '<select size=1 name="cat">'."\n"; 
     
    $SQL = "SELECT * FROM t_indep WHERE nom != '' AND prenom !='' AND echu = '' AND abandon = '' ORDER BY nom";
    $res = mysql_query($SQL);
     
    while ($resultat = mysql_fetch_row($res)) { 
        echo '<option value>'.$resultat[1].' '.$resultat[2];
        echo '</option>'."\n"; 
      } 
      	echo '</select>'."\n";
    ?>
    </p>
    </body>
    Comment dois-je m'y prendre?

    Merci

  2. #2
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Si tu veux que ce soit fait en direct live au changement de sélection sans validation par clic sur un bouton va falloir regarder du côté de JS/Ajax (soit pour afficher directement les données soit pour réafficher automatiquement la page).

    Ca pourrait être bien de mettre une valeur à l'attribut VALUE de tes OPTION (l'id de la personne par exemple...).

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2007
    Messages : 42
    Par défaut
    Ok merci, oui un petit oubli

    Sinon en php c'est pas possible? meme en devant cliqué sur un bouton?

  4. #4
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Ah bah si, si tu veux que l'utilisateur sélectionne quelque chose dans la liste puis clique sur un bouton Valider ou Afficher c'est tout à fait possible, il suffit de faire un formulaire qui a comme page de traitement ta page courante, et quand tu charges ta page tu regardes la donnée saisie (dans $_GET['nom_variable'] par exemple avec un petit isset avant) et tu affiches les données en conséquence.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2007
    Messages : 42
    Par défaut
    voilà j'ai fait ceci :

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <form>
    <input type='button' 
    value='Afficher date de fin' 
    onClick='OuvrirPop("include/affiche_date.php","fencent",10,10,480,60,"menubar=no,scrollbars=no,statusbar=no")'>
    </form>

    qui pointe sur la page avec :

    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
    <body>
    <?php
    require('conf.php');
        mysql_selectdb("base1") or die("Connexion impossible");
     
    function date_arriver($cat)
    {
       // on selectionne les sous-catégorie en fonction de l'id de la catégorie mère
       $sql = "SELECT * FROM t_indep WHERE date_arr = ".$_GET['cat']."";
       $req=mysql_query($sql);
    }
     
    echo $res;
     
    ?>
    </body>
    Quand je clic j'ai bien ma pop-up qui s'ouvre, mais elle n'affiche rien...

    Pourriez-vous m'indiquer ou est mon erreur?

    merci

  6. #6
    Membre émérite Avatar de gretch
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2006
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 165
    Par défaut
    echo $res;
    echo $req;

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2007
    Messages : 42
    Par défaut
    merci, mais ca ne change toujours rien...

  8. #8
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Je pense pas que la valeur de cat soit transmise à ta popup car le formulaire n'est pas validé, la page est juste ouverte comme une page normale mais sans passage de paramètre vu comme c'est fait là. Il faudrait récupérer la valeur de l'option en JS pour la concaténer à l'adresse de la page pour obtenir un lien du type page.php?cat=valeur.

    Pour voir les erreurs SQL il faut rajouter or die après tes mysql_query :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $req=mysql_query($sql) or die(mysql_error());
    En plus dans ta popup ta fonctin n'est pas appelée, tu fais juste un echo $res mais cette variable correspond à rien, y'a comme un souci de ce côté là...

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2007
    Messages : 42
    Par défaut
    Alors voilà ou j'en suis, j'ai corrigé je pense une partie, mais mon ma date ne s'affiche toujours pas

    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
    <?php
    // connection bdd + variable
    require('conf.php');
        mysql_selectdb("base1") or die("Connexion impossible");
     
      	echo '<select size=1 name="cat">'."\n";
     
    $SQL = "SELECT * FROM t_indep WHERE nom != '' AND prenom !='' AND echu = '' AND abandon = '' ORDER BY nom";
    $res = mysql_query($SQL) or die(mysql_error());
     
    while ($resultat = mysql_fetch_array($res)) { 
        echo '<option value='.$resultat['id_indep'].'>'.$resultat['nom'].' '.$resultat['prenom'];
        echo '</option>'."\n"; 
      } 
      	echo '</select>'."\n";
    ?>
    <form>
    <input type="button" value="Afficher date de fin" 
    onClick='OuvrirPop("include/affiche_date.php?cat=$resultat","fencent",10,10,480,60,"menubar=no,scrollbars=no,statusbar=no")'>
    </form>

    Page affiche_date.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    require('conf.php');
        mysql_selectdb("base1") or die("Connexion impossible");
     
    function date_arriver($cat)
    {
       // on selectionne les sous-catégorie en fonction de l'id de la catégorie mère
       $sql = "SELECT * FROM t_indep WHERE id_indep = ".$_GET['cat']."";
       $req=mysql_query($sql) or die(mysql_error());
    }
     
    echo $req['date_arr'];
     
    ?>
    Le truc ou je ne suis pas sur c'est pour le Onclick, je ne sais pas si la valeur que je passe est la bonne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "include/affiche_date.php?cat=$resultat"
    si je remplace echo $req['date_arr']; par echo $cat; alors ma pop-up me retourne $resultat...

    Si j'essaye en mettant directement ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "include/affiche_date.php?cat='.$resultat['id_indep'].'
    ma pop-up ne s'ouvre plus...

  10. #10
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    $resultat c'est un tableau donc ça peut pas être ça.

    De tout manière c'est en JS qu'il faut récupérer la valeur, avec un truc du style form.cat.value (je connais pas bien JS donc je ne saurais t'aider davantage).

    Et dans ta page affiche_date c'est toujours pareil tu as une belle fonction mais comme tu l'appelles pas elle sert à rien...

Discussions similaires

  1. Démarrer une vidéo à partir d'une sélection dans une liste
    Par marsouin_89 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 15/12/2014, 09h03
  2. Réponses: 1
    Dernier message: 15/06/2007, 22h28
  3. Réponses: 1
    Dernier message: 10/07/2006, 13h40
  4. obliger sélection dans une liste déroulante
    Par doyle01 dans le forum Access
    Réponses: 4
    Dernier message: 15/05/2006, 15h31
  5. Garder fixe la sélection d'une liste déroulante
    Par hysteresis dans le forum ASP
    Réponses: 11
    Dernier message: 20/10/2005, 14h34

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