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 :

Problème avec les conditions if else elseif dans la construction de ma requête


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2010
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 103
    Par défaut Problème avec les conditions if else elseif dans la construction de ma requête
    Bonjour à tous,
    Je vous expose mon problème :
    J'ai un moteur de recherche sur mon site, elle se fait sur plusieurs critères...le soucies est que je souhaite qu'elle me donne egalement les resultats soit :

    1 - sur la France entière
    2 - sur toute la région
    3 - sur un département

    Problème, j'affiche bien la France, la région mais pas le département, celui-ci me retourne les résultats pour toute la France... J'ai essayé plusieur manip dans mes conditions if else et elseif mais j'obtiens à chaque fois que deux des trois resultats souhaités...

    Si quelqu'un à une idée à me soumettre je suis preneur !
    Cordialement et merci à tous,
    Karpe

    P.S: si je me suis planté de Forum, ce qui n'est pas improbable, n'hesitez pas à le deplacer


    Le traitement de ma condition :

    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
     
    //$localisation est le nom du champ a choix multiple
    if ((!($localisation == $_GET['id_region'])) && (!($localisation == 0)))
    {
    $selecloc = "AND departement='$localisation'";
    }
    //si $ localisation n'est pas egale a l'idée de région ou a zero on selectionne le departement, c'est la que ca marche pas
     
    elseif ($localisation == $_GET['id_region'])
    {
    $selecloc = "AND region='$localisation'";
    }
    //si $localisation est egale a l'id de region on selectionne la region, là ca marche
     
    elseif ($localisation == 0)
    {
    $selecloc = "";
    }	
    // sinon si $localisation est egale à 0 on selectionne la france, là ca marche aussi
    Ma requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $selection_recherche = mysql_query("SELECT *
    FROM annonces
    WHERE $valeur_requete $selecat $selecloc ORDER BY idannonce DESC LIMIT $limite,$nombre");

  2. #2
    Membre émérite Avatar de vorace
    Homme Profil pro
    Développeur
    Inscrit en
    Août 2010
    Messages
    573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Août 2010
    Messages : 573
    Par défaut
    et comme ca ? :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (($localisation != $_GET['id_region']) && ($localisation != 0))
    {
    $selecloc = "AND departement='$localisation'";
    }

  3. #3
    Membre confirmé
    Inscrit en
    Février 2010
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 103
    Par défaut
    Merci Vorace, mais non toujours pas ... c'est con ce genre de détail... j'suis en mode casse-tête chinois...

  4. #4
    Membre émérite Avatar de vorace
    Homme Profil pro
    Développeur
    Inscrit en
    Août 2010
    Messages
    573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Août 2010
    Messages : 573
    Par défaut
    rajoute le code html avec le champs à choix multiples...

  5. #5
    Membre confirmé
    Inscrit en
    Février 2010
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 103
    Par défaut
    le champ a choix multiple ne change pas grand chose... Il s'appel "localisation" ...et j'arrive a afficher indépendamment chacun des trois critères ...donc le champ est bon ... le problème c'est que dans ma requête il n'y aura à chaque fois que deux des trois possibilité qui marchera pour la recherche ...
    J'suis dépité ...

  6. #6
    Membre confirmé
    Inscrit en
    Février 2010
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 103
    Par défaut
    Le soucie viens donc bel et bien de la formulation de ma condition..

  7. #7
    Membre chevronné
    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2007
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Janvier 2007
    Messages : 489
    Par défaut
    A mon avis ca sctoch car tu n'as pas le même nombre de critères dans tes conditions.

    Et un truc simplifié genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    if (($localisation == $_GET['id_region']) && ($localisation != 0))
    {
    $selecloc = "AND departement='$localisation'";
    }
    elseif (($localisation != $_GET['id_region']) && ($localisation != 0))
    {
    $selecloc = "AND region='$localisation'";
    }
    else
    {
    $selecloc = "";
    }

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 10/06/2011, 11h07
  2. Réponses: 1
    Dernier message: 24/02/2011, 10h37
  3. [AC-2007] problème avec les en-têtes de page dans les sous états.
    Par nitou dans le forum IHM
    Réponses: 0
    Dernier message: 04/09/2010, 08h55
  4. Réponses: 0
    Dernier message: 12/02/2009, 13h07
  5. Problème avec les conditions ''sous-ensemble d'un tableau''
    Par djangossoul dans le forum LabVIEW
    Réponses: 2
    Dernier message: 07/06/2007, 12h23

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