Opérateur sql

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par passion, 15 Décembre 2008.

  1. passion

    passion WRInaute accro

    Inscrit:
    6 Janvier 2006
    Messages:
    3 681
    J'aime reçus:
    0
    Bonjour,

    J'ai un petit soucis (et demande votre aide) pour une requête sql qui me bloque pour mon avancement.
    RESUME :
    Je souhaite récupérer un ensemble de champs qui correspondent avec plusieurs possibilités. Un exemple concret.
    Code:
    $requete="SELECT id, pseudo FROM matable WHERE champ1='".$valeur1."' AND champ2='".$valeur2."' OR champ1='".$valeur3."' AND champ2='".$valeur4."' ORDER by id";
    
    En clair, utiliser l'opérateur OR est-il bon pour récupérer un ensemble de données satisfaisant plusieurs possibilités champ1 AND champ2?

    Merci
     
  2. screuscreu

    screuscreu WRInaute impliqué

    Inscrit:
    14 Janvier 2008
    Messages:
    968
    J'aime reçus:
    0
    Je ne vois pas le problème sur le principe MAIS (car il y a toujours un mais)
    Oublie pas de bien mettre des () si tu en as besoin car là ça va récupérér les lignes avec :
    -champ1 = val1 et champ2 = val2 et champ2=val 4
    -champ1 = val1 et champ1 = val3 et champ2=val 4

    Ce qui à mon avis est tout à fait impossible sauf si tes val sont sensiblement identiques !

    Donc je corrigerais cela par
    Code:
    $requete="SELECT id, pseudo FROM matable WHERE (champ1='".$valeur1."' AND champ2='".$valeur2."')  OR (champ1='".$valeur3."' AND champ2='".$valeur4."') ORDER by id";
    
    avec les () !!!
    peut aussi mettre un DISTINCT id, histoire d'optimiser un poil la chose... au cas ou tes vals soit identiques !


    J'espère avoir été clair,

    :wink:

    EDIT : quelques erreurs de frappe
     
  3. passion

    passion WRInaute accro

    Inscrit:
    6 Janvier 2006
    Messages:
    3 681
    J'aime reçus:
    0
    merci beaucoup screuscreu, c'est la petite ( qui a fait la diffèrence :)
     
  4. screuscreu

    screuscreu WRInaute impliqué

    Inscrit:
    14 Janvier 2008
    Messages:
    968
    J'aime reçus:
    0
    De rien

    En fait je me rends compte qu'ici, je n'aide que les gens qui ont des problèmes de PHP et CSS ... contre un peu d'aide en référencement... bon deal ;)

    EDIT : ou comment mettre 4min à afficher la page ...