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 :

[SQL] Filtrer avec une listbox


Sujet :

PHP & Base de données

  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 295
    Par défaut [SQL] Filtrer avec une listbox
    Bonjour,

    J'ai une page php avec une requete qui liste les garages par region la ca fonctionne ce que j'aimerai c'est filtrer et ne voir que les regions d'aprés ma list box
    ma page se trouve ici http://www.bestoccaz.com/pro.php

    et voici mon code


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $idreg=$_GET['idreg'];
    mysql_select_db($database_webcar, $webcar);
    $query_rs = "SELECT region.name, membre.idmembre, membre.raisonsociale,count(raisonsociale) as nb FROM membre, region,annonce WHERE raisonsociale <> ''    and raisonsociale is not null   and annonce.visible='oui' AND region.idreg= membre.idreg and annonce.idmembre=membre.idmembre GROUP BY 3 order by '$idreg'";
    $rs = mysql_query($query_rs, $webcar) or die(mysql_error());
    $row_rs = mysql_fetch_assoc($rs);
    $totalRows_rs = mysql_num_rows($rs);
    merci pour votre aide

  2. #2
    Membre émérite Avatar de cadoudal56
    Profil pro
    Inscrit en
    Février 2005
    Messages
    694
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 694
    Par défaut
    Hello,


    Le nom de ta boite (select) n'est peut-etre pas assez expressif, mais bon c'est toi qui voit... Perso, je l'aurais appellé region ou autre chose, mais bon, là n'est pas le probleme...

    Tu dois récupérer la valeur de ta boite select pour en faire une condition dans ta requete SQL :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    $select = $_GET['select']
    $idreg=$_GET['idreg'];
    mysql_select_db($database_webcar, $webcar);
    $query_rs = "SELECT region.name, membre.idmembre, membre.raisonsociale,count(raisonsociale) as nb 
    FROM membre, region,annonce 
    WHERE raisonsociale <> '' AND raisonsociale is not null AND annonce.visible='oui' AND region.idreg= membre.idreg AND annonce.idmembre=membre.idmembre AND region.id = $select 
    GROUP BY 3 order by '$idreg'";
    $rs = mysql_query($query_rs, $webcar) or die(mysql_error());
    $row_rs = mysql_fetch_assoc($rs);
    $totalRows_rs = mysql_num_rows($rs);
    Tu dois aussi faire en sorte que la région reste sélectionnée dans la boite de sélection. Pour cela tu dois comparer l'ID de la région avec la valeur de $select. Si les valeurs sont égales, tu rajoutes SELECTED dans la balise OPTIOn de la ligne

    @+
    cadou

  3. #3
    Membre très actif
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 295
    Par défaut
    j'ai recu à filtrer avec le select en changeant par idreg, le nom de mon select mais je n'arrive pas à lister tout si le selecte n'est pas selectionné
    je pense que c'est la deuxieme phase de ta solution
    http://www.bestoccaz.com/pro.php

  4. #4
    Membre émérite Avatar de cadoudal56
    Profil pro
    Inscrit en
    Février 2005
    Messages
    694
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 694
    Par défaut
    A partir du moment ou tu récupères la valeur de ta boite de sélection, tu connais l'identifiant de la région sélectionnée.

    Par exemple, si je choisis Bretagne, le code suivant va me remonter 6 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $select = $_GET['select'];
    Ainsi, je sais que $select est égal à 6.

    Quand tu va écrire le contenu de ta boite de sélection, tu va parcourir une boucle qui contiendra au minimum l'ID de ta région et son nom.
    Par exemple, si tu as un tableau qui s'appelle $region, tu va faire comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    echo '<select name="select" class="texteboite">';
    echo '<option value="Region">Region</option>';
    for ($x=0;$x<count($region);$x++) {
         if ($region['id'] == $select) {
         echo '<option value="'.$region['id'].' selected">'.$region['name'].'</option>';
         }
         else {
         echo '<option value="'.$region['id'].'">'.$region['name'].'</option>';
         }
     
    }
    echo '</select';
    @+
    cadou

Discussions similaires

  1. Sélection d'une feuille excel avec une listbox
    Par felibelle dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 25/07/2022, 17h27
  2. Changer le nom d'une table sur SQL server avec une requete
    Par Oluha dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 01/02/2014, 23h35
  3. Boucle avec une listbox multicolonne
    Par morgan47 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 28/08/2006, 21h45
  4. Probleme avec une ListBox
    Par beb30 dans le forum MFC
    Réponses: 3
    Dernier message: 02/06/2006, 11h08
  5. [debutant] Probleme avec une listBox.
    Par Mickey.jet dans le forum Delphi
    Réponses: 2
    Dernier message: 30/05/2006, 13h21

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