[Zend_Db] Probleme pour compter le nombre de commentaire
Bonjour,
Je suis entrain de créer un blog.
Pour cela, j'ai ceci :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
CREATE TABLE `articles` (
`id` INT NOT NULL AUTO_INCREMENT ,
`titre` VARCHAR( 255 ) NOT NULL ,
`date` VARCHAR( 255 ) NOT NULL ,
`description` VARCHAR( 255 ) NOT NULL ,
`contenu` VARCHAR( 255 ) NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
CREATE TABLE `commentaire` (
`id` INT NOT NULL AUTO_INCREMENT ,
`nom` VARCHAR( 255 ) NOT NULL ,
`email` VARCHAR( 255 ) NOT NULL ,
`contenu` VARCHAR( 255 ) NOT NULL ,
`idArticle` INT NOT NULL,
PRIMARY KEY ( `id` ),
KEY `com_art_fk_constraint` (`idArticle`),
CONSTRAINT `com_art_fk_constraint` FOREIGN KEY (`idArticle`)
REFERENCES `articles` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; |
J'affiche sur une page l'ensemble des articles, dans mon controller j'ai :
Code:
1 2 3 4 5 6 7 8 9
|
class BlogController extends Zend_Controller_Action
{
//afficher tous les articles
function blogAction(){
$this->view->title = "blog";
$art = new Article();
$this->view->articles= $art->getArticlesAll();
} |
Et ensuite j'affiche dans une vue :
Code:
1 2 3 4 5 6 7
|
<?php foreach($this->articles as $articles):
echo '<h3 class="articleTitre">' . $articles->Titre .'</h3>';
echo '<p class="articleDate"> Le ' .$articles->Date .'</p>';
echo '<div class="articleContent">' .$articles->Contenu . '</div>';
echo '<p class="article"><a href="' . $this->url(array("controller"=>"blog","action"=>"voirarticle","idArticle"=>$articles->Id)) .'">afficher les commentaires<a/></p>';
endforeach; ?> |
Sur chaque article, il y a un lien pour consulter les commentaires.
Je cherche à compter le nombre de commentaire pour chaque article, et l'afficher ainsi dans le lien. La requete que je devrais mettre dans mon action 'blogAction' sera celle ci :
Code:
1 2 3 4 5
|
$com = new Commentaire();
$nbrComment = $com->select()
->from('commentaire',array('nbr' => 'COUNT(*)'))
->where('idArticle = ?', $idArticle); |
Le problème s'est que je ne sais pas comment je peux connaitre l'idArticle.
J'espère avoir été clair.
Merci de votre aide