考虑这个简单的代码:
$q=mysql_query('SELECT [...]');
while($row=mysql_fetch_assoc($q)){
//Do something with data
//And write how many rows are left
}
有没有办法知道有多少行会在while内返回mysql_fetch_assoc()?
ADD1:
我知道我可以在里面手动计算。我问是否有一个可以完成这项工作的mysql函数,比如mysql_data _ *
示例:
while(..){
echo mysql_num_query($q);
}
答案 0 :(得分:3)
您可以使用mysql_num_rows($ q)请求数组中的行数,然后减少while循环中的计数。
$rows = mysql_num_rows($q);
while($row=mysql_fetch_assoc($q)){
$rows --;
//Do something with data
//And write how many rows are left
echo $rows;
}
答案 1 :(得分:0)
http://php.net/manual/en/function.mysql-num-rows.php
$numRows = mysql_num_rows($q)
;
答案 2 :(得分:0)
使用mysql_num_rows
函数Docs
$q=mysql_query('SELECT [...]');
$rowCount = mysql_num_rows($q);
while($row=mysql_fetch_assoc($q)){
//Do something with data
//And write how many rows are left
}
答案 3 :(得分:-2)
我认为唯一的方法是先运行计数查询,然后在内部循环中使用一些计数器。
$q1 = mysql_query('select count(*) [...]');
$q2 = mysql_query('select [...]');
$i = 0;
while($row = mysql_fetch_assoc($q2))
{
$i++;
}