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:
J'ai essayé d'adapter la requête mais dans PHPMyAdmin j'obtiens l'erreur suivante:
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 ;
#1054 - Unknown column 'news.id' in 'on clause'
Voici la requête test qui renvoie l'erreur:
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.
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
Merci
Partager