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

Langage SQL Discussion :

Souci pour une liste d'amis


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Inscrit en
    Mai 2011
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mai 2011
    Messages : 62
    Points : 40
    Points
    40
    Par défaut Souci pour une liste d'amis
    Bonsoir,


    Je suis actuellement en train de créer un petit réseau social cependant je bloque sur une petite requête SQL =/

    Tout d'abord voici ma table concernée :

    tbl_amis:
    - id_amis_to : ID de la personne à qui la demande d'ajout a été faite
    - id_amis_from : ID de la personne qui a envoyé la demande
    - confirm_amis : Vaut 1 si la personne a accepté la demande ou 0 par défaut

    Toute la partie demande et acceptation de l’ami fonctionne.
    Ce qui ne fonctionne pas c'est l'affichage sur le profil d'une personne de tous ses amis.

    La requête que je voudrais faire aurait été du style ( en francais ):

    "Selectionner ce qu'il y a dans ma table amis où confirm amis = 1 et que dans id_amis_to OU id_amis_from il y est l'id de la personne du profil"

    Et voici ce que j'ai essayé en requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ("select * FROM tbl_amis WHERE id_amis_to = '".$_GET['id']."' OR id_amis_from = '".$_GET['id']."' AND confirm_amis = 1");
    Et le résultat et aléatoire Oo parfois j'ai des ligne où confirm_amis = 0...
    Bref je pense que ma requête est fausse.

    Pouvez-vous m'aider?
    Merci.

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 102
    Points : 28 392
    Points
    28 392
    Par défaut
    Ton problème vient simplement d'une question de précédence des opérateurs.
    Ton expression A ou B et C est évaluée A ou (B et C).

    Il faut donc ajouter des parenthèses pour préciser ce que tu veux :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select * 
    FROM tbl_amis 
    WHERE (id_amis_to = '".$_GET['id']."' OR id_amis_from = '".$_GET['id']."') 
    AND confirm_amis = 1;

  3. #3
    Membre du Club
    Inscrit en
    Mai 2011
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mai 2011
    Messages : 62
    Points : 40
    Points
    40
    Par défaut
    Génial, merci beaucoup pour le code et les explications très claires !!

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 30/06/2006, 09h41
  2. Réponses: 3
    Dernier message: 13/04/2006, 18h04
  3. Soucis pour une Listbox
    Par ]3l@c]{bUll dans le forum Composants VCL
    Réponses: 23
    Dernier message: 13/07/2005, 14h42
  4. implémenter la notion "au moins" pour une liste d'
    Par mohamed dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 18/08/2004, 00h07
  5. [Debutant(e)]conseil pour une liste ?
    Par Tymk dans le forum Débuter
    Réponses: 5
    Dernier message: 05/08/2004, 14h33

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