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 PHP Discussion :

Liste d'amis - Jointures [PHP 5.4]


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 91
    Points : 51
    Points
    51
    Par défaut Liste d'amis - Jointures
    Bonsoir,

    Je suis en train de me perdre dans mes jointures, car j'essaye de déterminer une "liste de mes amis" lorsque l'on est connecté.

    Voici l'architecture de ma base de données:

    users(id, nickname, firstname, lastname, email, ...)
    contact_users(id, id_contact, sender, receiver, status)

    Quand une personne envoi une invitation de contact, le nickname (unique) de cette personne s'implémente dans "sender" et la personne invitée dans "receiver". Le status se met à "1" pour dire "en attente", il se met à "2" pour dire que c'est "confirmer".

    Ce que je souhaiterai faire, c'est afficher la liste des contacts de la personne avec laquelle on est connectée.

    Voici 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
    <?php
    $sql = 'SELECT u.firstname, u.lastname 
            FROM users AS u, contact_users AS c
            WHERE c.sender = u.nickname AND c.sender != "' . $data_my_select['nickname'] . '"
            OR c.receiver = u.nickname AND c.receiver != "' . $data_my_select['nickname'] . '"';
     
    $result =  mysqli_query($bdd, $sql);
     
    echo 'Mes contacts sont:<br /><br />';
    while ($data = mysqli_fetch_assoc($result))
    {
      echo htmlentities($data['firstname']) . ' ' . htmlentities($data['lastname']) . '<br />';
    }
    $data_my_select['nickname'] est le nickname de la personne avec laquelle on est connecté.

    Mais ceci ne fonctionne pas très bien.

    Des idées ?

  2. #2
    Membre éprouvé Avatar de patrickbaras
    Homme Profil pro
    Informaticien (à sa mémère).
    Inscrit en
    Septembre 2010
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien (à sa mémère).
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 525
    Points : 1 103
    Points
    1 103
    Par défaut
    sélectionner les contacts du nickname 'pat3'

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    select 
    U.*
    from 
    	contact_users as C
    join
    	users as U
    WHERE
            (C.sender = 'pat3' OR C.receiver = 'pat3' )
    AND
    	U.nickname != 'pat3'
    AND
            (U.nickname = C.sender OR U.nickname = C.receiver)
    ;

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 91
    Points : 51
    Points
    51
    Par défaut
    Super, ça marche très bien, merci beaucoup et bonne journée. (:

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

Discussions similaires

  1. [MLD]Gérer la liste d'amis d'un site web social
    Par Invité dans le forum Schéma
    Réponses: 3
    Dernier message: 03/02/2008, 19h06
  2. Accéder à ma liste d'amis
    Par koKoTis dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 3
    Dernier message: 13/11/2007, 11h31
  3. [Conception] Une liste d'amis
    Par Attilius dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 01/08/2006, 10h12
  4. [Bug] Liste d'amis
    Par hamster dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 4
    Dernier message: 16/05/2006, 19h31

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