Bonjour,

Dans mon script de news, je souhaite afficher à côté de chaque news d'une part le nombre de personnes aimant la news, et d'autre part le nombre de commentaires lui étant associée. Avant ma requête SQL (fonctionnelle) n'avait pas ces fonctionnalités et se présentait ainsi dans le code PHP:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
$sql = 'SELECT n.id, n.titre, SUBSTRING(n.contenu,1,' . $nombreCaracteresSQL . ') AS bout_news, n.miniature, n.timestamp, n.date_pub, c.idCat,c.name,o.idObject,o.idCat 
		        FROM news AS n, categorie AS c, objectcatlink AS o 
				WHERE (n.id = o.idObject AND n.valide=1 AND o.idCat = c.idCat AND c.idCat =' . $idCategorie . ') 
				GROUP BY n.id ORDER BY n.date_pub ' . $tri . ' LIMIT ' . $num_prem_news . ',' . $nombreDeNewsParPage ;
J'ai essayé d'adapter la requête mais dans PHPMyAdmin j'obtiens l'erreur suivante:

#1054 - Unknown column 'news.id' in 'on clause'

Voici la requête test qui renvoie l'erreur:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
SELECT count(comment_news.id_commentaire) as nb_comment, news.id, news.titre, SUBSTRING(news.contenu,1,500) AS bout_news, news.pseudo, news.timestamp, news.date_pub,    news.miniature, jaimes.votes as j, categorie.idCat,categorie.name,objectcatlink.idObject,objectcatlink.idCat 
 
FROM news LEFT JOIN jaimes ON (news.id = jaimes.cle),categorie,objectcatlink LEFT JOIN comment_news ON (news.id = comment_news.fk_news AND comment_news.valide=1) 		
WHERE (news.id = objectcatlink.idObject AND news.valide=1 AND objectcatlink.idCat = categorie.idCat AND categorie.idCat =95)
GROUP BY news.id ORDER BY news.date_pub ASC LIMIT 1,10
Pouvez-vous me proposer une requête alternative pour régler ce problème? Malgré mes efforts et mes recherches en ligne je n'arrive pas à joindre les tables correctement.

Merci