SQL

Liste d'ami

Résolu

Salut la communauté ! J'ai un petit soucis de logique pour une requête j'ai vraiment besoin d'avis extérieur. Ceci est un projet encore en phase de développement ⌛️

J'ai créer un système d'amis , voici la table utilisateurs :



Et voila la table ou j'enregistre les relations :



Et la ça se complique..


J'aimerais afficher la liste de TOUT les utilisateurs, SAUF ceux qui ont une relation, sachant que :


  • Id_demandeur = Clef étrangère de l'id_user (Celui qui envoi la demande)
  • id_répondant = Clef étrangère de l'id_user (Celui qui reçoit la demande)
  • acceptation = 1 si accepté 0 si en attente


Alors je crois que niveau organisation je me suis bien planté, j'aurais du surement créer la Clef primaire à l'aide des deux clefs étrangères🤦‍♂️😐 mais je garde l'espoir que ceci est possible avec mon système actuel 🖖🧐

470 vues
22 juillet 2021 à 16:29
Cette pub permet au site de vivre ...

@DimitriAFC , Aucun problème, j'attend ton retour 😁

Cette pub permet au site de vivre ...

4 commentaires

@DimitriAFC , Aucun problème, j'attend ton retour 😁

Bonjour,


A moins de ne pas avoir compris la problématique, si j'avais été à ta place, j'aurais juste conditionnée ma requête SQL :


J'aurais dans un premier temps, sélectionné toutes les sables souhaitées, ensuite j'aurais Mis un WHERE et là j'aurais mis des comparateurs :


Exemple pour comprendre :


SElECT * FROM users, relations WHERE id_demandeur != id_user OR id_receveur != id_user AND acceptation != 1


Il faudrait tester si cela fonctionne, je pense que c'est possible après il faut établir des tests pour savoir laquelle des requête est la plus intéressante pour cette problématique.


(J'espère que ton problème sera résolu par la suite si ce n'est pas déjà le cas.)



Cordialement.

Hello @Clouder justement j'y avais jeter un œil c'est vrai que le fait de rajouter le statut c'est une superbe idée ! Je fais ça dans l'après midi et je viens donner des nouvelles :D

Salut @DimitriAFC ,


Pourquoi tu n'utilises pas la table relation que j'ai faite ? 😁 (lien de l'article)


Comme ça tu as toujours ton id_demandeur et id_repondant. Tu as en plus une colonne statut pour savoir où en est la demande (1 : demande en attente, 2 : il sont amis, 3 : bloqué, etc.)


Sachant que tu peux toujours conserver ta colonne date_ajout pour savoir depuis quand ils sont amis 🙂


Tu vas résoudre tes problèmes de demandes d'amis et voir les jointures et conditions que j'ai faites 😀

Cette pub permet au site de vivre ...