您好,匿名用户

php+smarty取值的问题

0 投票

一个博客程序 要根据首页打印出来的博客标题查出来有多少评论数量,之前没有使用smarty模板引擎的写法如下:
以下代码在index.html页面
`$article=$sql->("SELECT * FROM article");
while($result=$article->fetch_assoc()){
echo $result['id'].$result['title'].$result['content'];//这里打印出来id 标题和内容
$comment=$sql->("SELECT count(*) as sum FROM comment where article_id='$result['id']'");//根据文章的编号查出来对应的评论数量
$sum_comment=$comment->fetch_assoc();
echo $sum_comment['sum'];//这里打印出来评论数量
};
`
但是在smarty里面 查询语句写在了index.php里面 前台index.html显示如下:

{{foreach $article as $result}}{{$result.id}}{{/foreach}}

所以现在导致了我不知道怎么去通过文章的id查询评论数量,求大佬们解答,谢谢大家了!

用户头像 提问 4 天 @ Nunu 中士 (1,230 威望)
分享到:

1个回答

0 投票
 
最佳答案

1.SELECT a.id, b.count() FROM article a inner join comment b on a.id = b.article_id group by a.id having b.count() > 0;
用这个sql直接可以查出每个文章对应的评论数;
2.用你这方法:
`$article=$sql->("SELECT * FROM article");
$comments = [];
while($result=$article->fetch_assoc()){
echo $result['id'].$result['title'].$result['content'];//这里打印出来id 标题和内容
$comment=$sql->("SELECT count(*) as sum FROM comment where article_id='$result['id']'");//根据文章的编号查出来对应的评论数量
$sum_comment=$comment->fetch_assoc();
$comments['$result['id']] = $sum_comment['sum'];
};

{{foreach $comments $key => $result}}{{'文章'$key.'评论总数为'.$result}}{{/foreach}}

用户头像 回复 4 天 @ Garen 中士 (1,069 威望)
选中 5月12日 @Nunu
提一个问题:

相关问题

0 投票
0 回复 38 阅读
用户头像 提问 2017年 5月15日 @ Caitlyn 上士 (1,762 威望)
0 投票
1 回复 87 阅读
用户头像 提问 2013年 11月7日 @ 末日姐 中士 (1,102 威望)
0 投票
1 回复 220 阅读
用户头像 提问 2014年 11月17日 @ Ezreal 中士 (1,266 威望)
0 投票
1 回复 39 阅读
用户头像 提问 2016年 2月7日 @ Sivir 中士 (1,190 威望)
0 投票
1 回复 122 阅读
用户头像 提问 2012年 12月1日 @ Brand 中士 (1,035 威望)

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...