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

MySQL Discussion :

Gestions de Systeme d'amitié


Sujet :

MySQL

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Guinée

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

    Informations forums :
    Inscription : Janvier 2016
    Messages : 45
    Points : 36
    Points
    36
    Par défaut Gestions de Systeme d'amitié
    Bonjour je travaille sur un espace membre oû les utilisateurs peuvent ajouter des amis.

    J'ai déjà permis à l'utilisateur d'envoyer des invitations, d'afficher la liste des membres et la liste des amis qui souhaite nous ajouter; mais le problème est que la personne qui a envoyé l'invitation apparaît à la fois dans la liste des invitations(personnes qui souhaitent vous ajouter) et la liste des membres à ajouter(personnes à ajouter). Voyez-vous la répétition ?.

    Alors ce que je veux, c'est que la personne qui est déjà présente dans la liste des invitations ne doit plus apparaît dans la liste des membres à ajouter puisque que cette presente nous a déjà envoyé une invitation.

    Petite explication: <fode> m'a envoyé déjà une invitation, de fait il apparaît dans la liste des démandes d'ajout d'amis; le problème est qu'il apparaît encore dans la liste des membres qu'on pourrait ajouter.

    Je veux corriger cette repetition, j'espere que vous m'avez compris.

    Merci d'avance pour vos réponses.

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    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 080
    Points : 30 803
    Points
    30 803
    Par défaut
    Faute de connaître ton modèle de données et d'avoir un exemple, il est difficile de te répondre.
    Tu souhaites donc exécuter une requête qui supprimerait de la liste des membres à ajouter les personnes qui sont dans la liste des invitations.
    C'est bien ça ?
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Guinée

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

    Informations forums :
    Inscription : Janvier 2016
    Messages : 45
    Points : 36
    Points
    36
    Par défaut
    Oui bien sur.
    Je ne saurai pas comment te remercier si tu m'aide à resoudre ce probleme depuis plusieurs semaines je galere sur ça.
    Mes tables:
    users:
    Nom : u.png
Affichages : 245
Taille : 7,6 Ko
    friends:
    Nom : f.png
Affichages : 171
Taille : 8,8 Ko
    S'il te plait aide moi, Merci.

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Guinée

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

    Informations forums :
    Inscription : Janvier 2016
    Messages : 45
    Points : 36
    Points
    36
    Par défaut
    Mes tables:
    users:
    Nom : u.png
Affichages : 245
Taille : 7,6 Ko
    friends:
    Nom : f.png
Affichages : 171
Taille : 8,8 Ko

    Requête qui affiche l'ensemble des utilisateurs excepté l'utilisateur en session:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     $q = $bdd->prepare("SELECT * FROM users WHERE id != :id ");
                      $q->execute(array(
                        "id" => info_profil()->id
                        ));
    S'il te plait aide moi, Merci.

  5. #5
    Membre émérite
    Homme Profil pro
    tripatouilleur de code pour améliorer mon quotidien boulistique
    Inscrit en
    Février 2008
    Messages
    939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : tripatouilleur de code pour améliorer mon quotidien boulistique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2008
    Messages : 939
    Points : 2 287
    Points
    2 287
    Par défaut
    Bonjour
    Maintenant que nous avons vos tables, peut-être pouvez-vous formuler plus clairement vos souhaits?

    La liste des membres à ajouter, est-ce la liste des membres à qui je n'ai pas encore envoyer d'invitation?

    Peut-être avec un "not in".

    La liste des invitations que j'ai lancé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Select 
    friends.id_des
    FROM friends
    where friends.id_exp= "id_moi"

    Donc la liste des membres qui restent à inviter :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    select 
    users.id
    from
    users
    where 
    users.id not in
    (
                Select 
                  friends.id_des
               FROM friends
                  where friends.id_exp= "id_moi"
    )

    mais en même temps je dois exclure les membres qui m'ont déjà fait une invitation.
    Donc je récupère ces membres là

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Select 
                  friends.id_exp
               FROM friends
                  where friends.id_des= "id_moi"
    et la requête devient :

    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
    20
    select 
    users.id
    from
    users
    where 
    users.id not in
    (
                Select 
                  friends.id_des
               FROM friends
                  where friends.id_exp= "id_moi"
    )
    AND
    users.id not in
    (
    Select 
                  friends.id_exp
               FROM friends
                  where friends.id_des= "id_moi"
    )

    Sans garantie aucune, car je n'ai pas pu travailler sur votre cas réel.
    Il faudrait pour cela nous donner les requêtes de création de vos tables et un jeu d'enregistrement.

    Bonne continuation.

    Pierre

  6. #6
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 380
    Points : 19 062
    Points
    19 062
    Par défaut
    Salut à tous.

    En effet, la demande n'est pas très clair, ni la structure des tables.
    Il nous faudrait la structure des tables, un jeu d'essai conforme à ce que vous cherchez à faire par table, et le résultat attendu en fonction de ce jeu d'essai.

    Comment faites-vous la distinction entre la liste des invitations et la liste des membres à ajouter ?
    C'est ce point qui n'est pas très clair !

    Citation Envoyé par mohamed lamine 1996
    Petite explication: <fode> m'a envoyé déjà une invitation, de fait il apparaît dans la liste des demandes d'ajout d'amis; le problème est qu'il apparaît encore dans la liste des membres qu'on pourrait ajouter.
    Ce <fode> est nécessairement déjà présent dans la table des membres, au moins lors de son inscription.
    S'il envoie une invitation, c'est qu'il existe dans vos tables.

    S'il envoie une invitation, c'est qu'il est l’émetteur du message. Le destinataire est nécessairement l'invité.
    L'émetteur est "amis" du destinataire et vice-versa, le destinataire est "amis" de l'émetteur.
    Donc, il faut déjà faire une distinction entre être "membre" et être "amis de".
    <fode> est membre, comme tous les autres intervenants et sera inscrit dans la table des membres.

    Pour les "amis de", c'est une table association possédant une clef étrangère qui va pointer sur la table des membres.
    Elle sera composée de l'identifiant du membre qui va posséder des amis.
    Et pour chaque amis de cet identifiant (ce membre), nous pointons sur la table des membres.
    Il faut s'assurer, par l'intermédiaire d'un index, que le couple (identifiant ; amis) soit unique dans la table.
    Il faudrait peut être envisager d'ajouter une colonne pour indiquer l'acceptation de ce membre en tant qu'amis.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

Discussions similaires

  1. La solution de Gestion Opal System
    Par Opalsystem dans le forum Autres Solutions d'entreprise
    Réponses: 0
    Dernier message: 10/07/2013, 11h20
  2. Gestion de systeme de fiches
    Par mailoy dans le forum Général Conception Web
    Réponses: 0
    Dernier message: 10/06/2013, 23h23
  3. Programme de gestion de systeme de fiches
    Par mailoy dans le forum C++
    Réponses: 6
    Dernier message: 10/06/2013, 23h18
  4. un control de gestion de systeme windows toute faite
    Par infostars dans le forum ASP.NET
    Réponses: 0
    Dernier message: 04/02/2009, 12h02
  5. [C#] ListView + gestion de System.OutofRangeException
    Par ePoX dans le forum Windows Forms
    Réponses: 2
    Dernier message: 06/04/2005, 09h09

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