【发布时间】:2017-11-12 16:16:59
【问题描述】:
我需要一些帮助来弄清楚这个逻辑,因为在我看到的大多数教程中,他们只需要在数据库中存储一个 topics_count int 并且每次在该特定论坛中创建一个主题时,他们都会增加 topic_count为他们创建的论坛+1;
但是我们不能通过使用mysqli_num_rows 来获取值来实现这一点吗?这将返回与论坛相关的总行数(主题)。但问题是当论坛在数组中时,我如何创建这种关系。
论坛和主题都有:
- 身份证
- 标题
- 说明
我知道安全问题。这个例子只是一个练习。
这就是我从数据库中显示论坛并向每个论坛回显href的方式。
$array_forums = mysqli_fetch_assoc($res_forums);
echo "<div id='forum_{$array_forums["forum_id"]}' class='forum_classic'>";
echo "<div id='forum_classic_status'></div>";
echo "<div id='forum_classic_container'>";
echo "<div id='forum_classic_icon'></div>";
echo "<div id='forum_classic_description'>";
echo "<a href=forum.php?forum=" . urlencode($array_forums["forum_id"]) . ">";
echo "<h1>{$array_forums["forum_title"]}</h1>";
echo "</a>";
echo "<p>{$array_forums["forum_description"]}</p>";
echo "</div>";
echo "</div>";
echo "<div id='forum_classic_topics'>Topics</div>";
echo "<div id='forum_classic_replies'>Replies</div>";
echo "<div id='forum_classic_lastposter'>Lastposter</div>";
echo "</div>";
}
这是我在点击链接后在每个论坛中显示主题的方式。
$forum_id = $_GET['forum'];
//1. Perform database query for topics
$sql_topic = "SELECT * FROM topics WHERE topic_forum_id = {$forum_id}";
$res_topic = mysqli_query($conn, $sql_topic);
//2. Display returned data from topics
if (mysqli_num_rows($res_topic) >= 1) {
$array_topic = mysqli_fetch_assoc($res_topic);
echo "<div id='topic_{$array_topic["topic_id"]}'>{$array_topic["topic_title"]}";
echo "</div>";
} else {
echo "<a href='community.php'>Return To Forum Index</a>";
echo "<p>There are no topics in this forum yet.</p>";
}
【问题讨论】:
-
我无法理解你的要求,你能解释一下吗
-
基本上这是我用来显示论坛及其相关主题的代码,现在我想知道如何实现主题计数器,以计算论坛中有多少主题。
-
$sql_topic = "SELECT * FROM topics WHERE topic_forum_id = {$forum_id} COUNT(id) as count";如果您不在数据库中使用 id,请将 id 更改为其他内容。当你 var_dump 你的 $sql_topic 时,你会注意到 'count' 作为键和它旁边的值。你能试着告诉我吗?