我有一个简单的while循环
while($row = mysql_fetch_array($result)){
}
它逐个取出很多行,很好。 但我根据行号添加了一些额外的功能。
我怎样才能得到每行的ROW NUMBER?
答案 0 :(得分:2)
添加计数变量:
$count = 1;
while ( $row = mysql_fetch_array( $result ) ) {
// do your work here
$count++;
}
答案 1 :(得分:1)
您必须在选择的SQL中包含行号。所以更新了获取行的MySQL SQL语句,包括行号,如下所示。
select @rownum:=@rownum+1 ‘row_number’, * from your_table, (SELECT @rownum:=0) r
这将创建一个变量rownum
,初始化为值0
&每个记录增加1
。每个row
都会有一个名为row_number
的列,其中的升序号从1开始。
然后在while... loop
检查此row_number
值并进行相应处理。
参考:See this post for another approach that involves creating a separate variable in SQL statement。
答案 2 :(得分:0)
在名为row
的选择中添加一个额外字段,如下所示
SELECT @row:=IFNULL(@row,0)+1 as row,
your_columns
FROM your_tables