SELECT reponses FROM messages WHERE id = IdMessage;
Plutôt ça (id => pid) :
SELECT reponses FROM messages WHERE pid = IdMessage;
Sinon ouai c'est à peut près ça sauf qu'il faut que tu stocke les résultats dans un tableau par exemple.
Il est vrai qu'avec cette approche tu dois à chaque fois reparcourir tous les message ce qui n'est pas très performant (mais tu peux placer un index sur pid pour avoir une recherche beaucoup plus rapide).
Ce que tu peux faire c'est l'inverse. Au lieu que les fils retiennent leur père, ce sont les pères qui vont retenir leurs fils. Ainsi tu n'as pas besoin de parcourir tous les messages. Par contre cette architecture est moins souple, si tu veux déplacer un sujet par exemple avec la première architecture tu n'as qu'à changer le pid du message à déplacer alors qu'avec la deuxième tu es obliger de parcourir un tableau contenant tous les fils, trouver l'élèment à déplacer, copier son ID dans le message cible et supprimer son ID dans le message source. Mais il est vrai que ça doit être bien plus performant comme ça, ça se discute
Partager