Php 获取num_rows total以在循环中回显每个数字的总和
我准备了下面的语句,创建该语句是为了获取数据库中与主题相关的帖子的行数。所以基本上我想做的是,如果你在论坛上,每次有人发布一个主题的回复,你会在回复中看到一个帖子编号 这是我准备好的陈述,在陈述中,我重复了当前主题中的行数,并且正确地提出了它Php 获取num_rows total以在循环中回显每个数字的总和,php,mysql,while-loop,Php,Mysql,While Loop,我准备了下面的语句,创建该语句是为了获取数据库中与主题相关的帖子的行数。所以基本上我想做的是,如果你在论坛上,每次有人发布一个主题的回复,你会在回复中看到一个帖子编号 这是我准备好的陈述,在陈述中,我重复了当前主题中的行数,并且正确地提出了它 if ($posts_stmt = $con->prepare("SELECT * FROM forum_posts WHERE `category_id`=? AND `id`=?")) { $posts_stmt->bind_pa
if ($posts_stmt = $con->prepare("SELECT * FROM forum_posts WHERE `category_id`=? AND `id`=?")) {
$posts_stmt->bind_param("ii", $cid, $tid);
$posts_stmt->execute();
}
$posts_stmt->store_result();
$post_num_rows = $posts_stmt->num_rows;
echo "Number of rows" . $post_num_rows;
但是,我不知道如何在回复框中显示每个回复的数字
即:
如果总共有5行,将有五个不同的回复或回复框。我不知道如何让回复框做到这一点
一,
二,
三,
四,
五,
我像这样重复了一些帖子的信息,而这正是我不知道如何构造代码来做我想做的事情的地方
echo "<tr><td valign='top' style='border: 1px solid #000000;'>
<div style='min-height: 125px;'>".$topic_title."<br />
by ".$post_creator." - " .$post_date. "<hr />" . $post_content ."</div></td>
<td width='200' valign='top' align='center' style='border: 1px solid #000000;'>User Info Here!</td></tr>
<tr><td colspan='2'><hr /></td></tr>";
使用
fetch\u row()
时,只需在循环中使用一个计数器即可。将计数器初始化为0并在循环中递增
另外,如果您正在使用PDO。您不需要使用存储结果
if ($posts_stmt = $con->prepare("SELECT * FROM forum_posts WHERE
`category_id`=? AND `id`=?")) {
$posts_stmt->bind_param("ii", $cid, $tid);
$posts_stmt->execute();
}
$rows = $posts_stmt->fetchAll(PDO::FETCH_ASSOC);
//now run through all the data with a while loop
//the count will have the correct 1,2,3,4.. values
$count=0;
foreach($rows as $row) {
$count++;
echo $count. " ".$row['post_title'] ; // and other echo stuff
}
编辑
mysqli
。这是PHP访问数据库的新方法。它与MySQL类似,但有一些新方法,而且总体上更好MySQLi
存储结果。看起来你并没有这样做,只是在执行之后做这个
$result = $posts_stmt->get_result();
$count=0;
while ($row = $result->fetch_array(MYSQLI_ASSOC))
{
$count++;
echo $count." ".$row['post_title'];
}
}
请发布用于从结果对象获取行的代码。我实际上没有,但我只是很快地创建了一个,并且仍然得到了相同的结果。我还必须在循环的一侧包含我的num_行代码吗?我会因此而出错<代码>致命错误:调用非对象上的成员函数fetch_row()
然后我得到了$result
的未定义变量的错误。$result必须是什么?你这是什么意思?对不起。我键入的$result
错误。它应该是$data
。我已经在上面进行了更正,我刚刚将代码更新为php文档中推荐的代码。你能告诉我它是否在运行吗?好的。我改变了很多答案。现在就试试吧,做了一个相当大的更新。如果您仍然有问题,我建议我们在聊天中继续
$result = $posts_stmt->get_result();
$count=0;
while ($row = $result->fetch_array(MYSQLI_ASSOC))
{
$count++;
echo $count." ".$row['post_title'];
}
}