Salut,
J'aimerais récupérer les derniers commentaires d'un utilisateur avec le champ user-id de ma basse de donné "comments". J'utilise le plugin de Grafikart pour les commentaires. J'ai créer une page de profil pour les membres. J'aimerais qu'ont puisse voire les derniers commentais que utilisateur à poster sur un blog, un projet ou une musique. Sur le site de Grafikart sur montre page de profil on peut voir les derniers nos derniers commentaire.

Merci de votre aide en avance!
,
Ps je suis sur le framwork CakePhp.

15 réponses


Tu fais dans ta conditions en sorte de récupérer juste les posts d'un membre, ensuite tu ajours un limit 5 pour les 5 posts et un order desc pour recuperer donc els 5 derniers

lakamark
Auteur

C'est un plugin et je n'ai pas accès depuis l'extérieur.

Tu as quand même accès à la BDD et aux relations entre les tables. Au pire tu formes ta query SQL à la main...

lakamark
Auteur

C'est avec cette commende que je fait ma requête manuellement :

$this->Comment->query("SELECT * FROM comments LIMIT 2;");
par exemple?

Il te manque la condition du profil et le order DESC sinon la il te recuperera simplement les 2 premiers post

Je pense que c'est plus pour la commande $this->Comment->query() qu'il demandait. Je suis rouillé en SQL mais je pense qu'un truc dans le genre devrait ressembler à ce que tu cherches :

SELECT * FROM comments WHERE Post.id = {mon_post_id} LIMIT 10 ORDER BY created DESC
lakamark
Auteur

Je veux récupéré tous les commentaires d'un utilisateur qui sont lier avec le champ de l'utilisateur user_id de table commentaires.

Dans ces cas là, ce doit être quelque chose comme ceci :

SELECT * FROM comments WHERE Comment.user_id = {mon_user_id} ORDER BY created DESC
lakamark
Auteur

Comment je fait pour récupéré l'id d'un utilisateur avec le champ user_id de ma BDD?

Alors je ne suis pas sur de comprendre ta question. Imaginons que j'aie un compte sur ton site et que je suis connecté, que souhaites tu faire ? Récupérer mes derniers commentaires ou bien récupérer les derniers commentaires de n'importe quel utilisateur ?

Dans le premier cas, l'id de l'utilisateur connecté se trouve dans le composent Auth de CakePHP qui le sauvegarde dans la session.
Dans le deuxième cas, pour rechercher les commentaires d'un utilisateur, il aura fallu auparavant cliquer sur l'utilisateur et donc le chercher dans la base de données. Tu récupèreras son id à ce moment là.

lakamark
Auteur

Je vais faire des test pour savoir le qu'elle cas est le meilleur.

Je ne comprends pas, mes deux cas sont des cas d'utilisation totalement différents, il n'y a pas de cas meilleur que l'autre. Ils ne font pas la même chose.

lakamark
Auteur

Je me demande comme à fait grafikart pour récupérer les dernier commentaire et ils sont afficher sur notre page de profil?

Je pense qu'il utilise l'ID qui est transmis par Auth lorsque que l'on se connecte.

Ok donc mon cas 1. Je ne l'ai jamais utilisé mais c'est le fonctionnement décrit sur la page d'utilisation du plugin. Si tu ne souhaites pas faire appel au plugin pour ce cas là, tu dois le faire avec une requête SQL comme j'ai décrit au dessus.