Php 新闻评论数
我厌倦了在我的新闻评论系统中寻找解决方案。 我所拥有的。 我有两个不同的mysql表item id、title、category_id、details and comments id、item_id、comment 如果我有一条新闻,那么计数就可以了,如图中所示: 代码: 但如果我使用相同的代码类别视图,结果是: 如果我使用代码:Php 新闻评论数,php,mysql,comments,smarty,Php,Mysql,Comments,Smarty,我厌倦了在我的新闻评论系统中寻找解决方案。 我所拥有的。 我有两个不同的mysql表item id、title、category_id、details and comments id、item_id、comment 如果我有一条新闻,那么计数就可以了,如图中所示: 代码: 但如果我使用相同的代码类别视图,结果是: 如果我使用代码: $sqls = mysql_query("SELECT c.item_id, COUNT(c.comment) FROM comments c
$sqls = mysql_query("SELECT c.item_id,
COUNT(c.comment)
FROM comments c
RIGHT JOIN items i
ON c.item_id = i.id
GROUP BY c.item_id");
$comm = mysql_num_rows($sqls);
$smarty->assign('comm',$comm);
结果是:一些评论
如何才能查看类别并查看正确数量的评论?试试这个例子。结果与下面的屏幕截图相同,但有一些背景颜色来区分差异。当然,您应该更改您自己的连接和布局
<?php
$db = new PDO('sqlite:news.db');//change to your own
$sql = $db->prepare("
SELECT item.id, item.title, item.details, comments.comment, COUNT(comments.id) AS NumberOfComment
FROM item LEFT JOIN comments ON item.id = comments.item_id
GROUP BY item.id ORDER BY item.id");
$sql->execute();
$row = $sql->fetchAll();
//get comment
$comment = $db->prepare("SELECT comment FROM comments WHERE item_id = ?");
foreach ($row as $rows){
echo "<br>";
echo "Title: ".$rows['title'];
echo "<br>";
echo "Details: ".$rows['details'];
echo "<br>";
echo "<i>".$rows['NumberOfComment']." comments </i>";
echo "<br>";
$comment->execute(array($rows['id']));
$comments = $comment->fetchAll();
echo '<div style="background-color:pink;">';
foreach ($comments as $showcomment){
echo $showcomment['comment'];
echo "<br>";
}
echo "</div>";
echo "<br>";
}
?>
示例项目表
示例注释表
结果是
如果可以,你应该这样做。已在PHP7中删除。了解使用PDO的语句,并考虑使用PDCORE ID、ITEMID ID和“选择GeTrrRyyIdID、ItMySID、CurnTyTimeIDID”。请问输出结果是什么?输出结果:新闻ITEM1 - 1新闻ITEM2 - 14新闻ITEM1 - 12内部注释编号有没有解决您的问题?
<?php
$db = new PDO('sqlite:news.db');//change to your own
$sql = $db->prepare("
SELECT item.id, item.title, item.details, comments.comment, COUNT(comments.id) AS NumberOfComment
FROM item LEFT JOIN comments ON item.id = comments.item_id
GROUP BY item.id ORDER BY item.id");
$sql->execute();
$row = $sql->fetchAll();
//get comment
$comment = $db->prepare("SELECT comment FROM comments WHERE item_id = ?");
foreach ($row as $rows){
echo "<br>";
echo "Title: ".$rows['title'];
echo "<br>";
echo "Details: ".$rows['details'];
echo "<br>";
echo "<i>".$rows['NumberOfComment']." comments </i>";
echo "<br>";
$comment->execute(array($rows['id']));
$comments = $comment->fetchAll();
echo '<div style="background-color:pink;">';
foreach ($comments as $showcomment){
echo $showcomment['comment'];
echo "<br>";
}
echo "</div>";
echo "<br>";
}
?>