我需要从数字1开始从数据库中获取结果,一直到有多少行。我怎么做?
SELECT * FROM tableName WHERE section = '1'
结果:
id | name | section
56 | Adam | 1
57 | Mary | 1
58 | Kate | 1
需要结果:
index | id | name | section
1 | 56 | Adam | 1
2 | 57 | Mary | 1
3 | 58 | Kate | 1
P.S:不,索引不是表格中的列名。
答案 0 :(得分:2)
您可以使用用户定义的变量:
SELECT @rownum:=@rownum + 1 `index`, t.*
FROM tableName t, (SELECT @rownum:=0) r
WHERE t.section = '1'
答案 1 :(得分:0)
在查询行并遍历结果时,只需使用循环索引+ 1:
for ($i=0; $i<count($rows); $i++)
{
echo ($i+1)." | ".$rows[$i]["id"]." | ".$rows[$i]["name"]." | ".$rows[$i]["section"];
}
或者foreach循环和计数器:
$counter = 1;
foreach ($rows as $row)
{
echo $counter." | ".$row["id"]." | ".$row["name"]." | ".$row["section"];
}
答案 2 :(得分:0)
要订购来自mysql的数据,请添加到select语句ORDER BY column_name ASC|DESC
的末尾,因此请将select语句更改为:
SELECT * FROM tableName WHERE section = '1' ORDER BY ID ASC
在您的PHP代码中,您要逐步显示要显示的数据行,只需添加一个递增的计数器,并显示每行数据的计数。
例如:
$count=0;
echo "index | id | name | section<br />\n";
while($row = mysqli_fetch_array($result)) {
$id = $row['id'];
$name = $row['name'];
$section = $row['section'];
$count++;
echo $count." | ".$id." | ".$name." | ".$section."<br />\n";
}
答案 3 :(得分:-2)
您可以使用此查询:
SELECT *,ROW_NUMBER() OVER (ORDER BY id) AS index FROM tablename;