如何在PHP中回显SQL行的位置号?
在你误读标题之前。。。我不是问如何回显行数,我只是想找到行所在的位置 假设我们总共有五行:如何在PHP中回显SQL行的位置号?,php,mysql,sql,Php,Mysql,Sql,在你误读标题之前。。。我不是问如何回显行数,我只是想找到行所在的位置 假设我们总共有五行: +---------------------+ | Post ID | Author | +---------------------+ | 463 | Me | | 477 | Me | | 718 | Me | | 883 | Me | | 276 | Me | +---------------------+ 现在我想获取包含po
+---------------------+
| Post ID | Author |
+---------------------+
| 463 | Me |
| 477 | Me |
| 718 | Me |
| 883 | Me |
| 276 | Me |
+---------------------+
现在我想获取包含post ID 718的行的位置。通过查看数据,我们可以直观地看到它是数据中的第三行。如何在PHP中回显此内容?您可以使用行号: 一,。邮购编号 从RowNo order by Post ID asc中选择*,order by Post ID上的行号 二,。邮购编号描述 从RowNo order by Post ID desc中选择*行,按Post ID desc排序 三,。按邮政ID的部分订购 从行中选择*,子主题ID,4,2,按子主题ID排序的行编号,4,2从行中选择*,按子主题ID排序的行编号,4,2 asc
Post ID Author substr(`Post ID`, 4, 2) Ascending 1 row_number() over ( order by substr(`Post ID`, 4, 2) )
4891784883 Me 17 1
2894728477 Me 47 2
1185819276 Me 58 3
8788277463 Me 82 4
3898994718 Me 89 5
获取记录时,可以使用变量作为位置号
#DB is a class connect to mysql database.
DB::init();
$sql = "SELECT * FROM RowNo ";
$stmt = DB::query( $sql );
$i = 1;
while( $rec1 = $stmt->fetch() ) {
echo "row $i : ";
print_r( $rec1 );
echo '<BR>'.PHP_EOL;
$i++;
};
RDBMS表中的行表示无序集,所以在这种上下文中位置是没有意义的。那么,这是不可能的吗@草莓一切皆有可能。有些事情是并没有意义的。每当你们进行SQL查询时,你们都知道每一行的确切位置。怎样您可以对其进行迭代,以便知道哪一个是第一个、第二个,依此类推。只要在回显时添加一个计数器即可。您可能会问自己,如果使用“限制”和“偏移”,如何知道行号?Well limit告诉您加载了多少,offset告诉您跳过了多少。因此,从使用偏移量的SQL查询中得到的第一行是1+。您可以尝试使用row_numbers。这是对另一个问题的回答。如果我添加where语句,它是否仍会回显总行数,还是只回显新选择?如果添加where语句,结果行可能会更改。循环将仅显示已过滤的记录。
Post ID Author substr(`Post ID`, 4, 2) Ascending 1 row_number() over ( order by substr(`Post ID`, 4, 2) )
4891784883 Me 17 1
2894728477 Me 47 2
1185819276 Me 58 3
8788277463 Me 82 4
3898994718 Me 89 5
#DB is a class connect to mysql database.
DB::init();
$sql = "SELECT * FROM RowNo ";
$stmt = DB::query( $sql );
$i = 1;
while( $rec1 = $stmt->fetch() ) {
echo "row $i : ";
print_r( $rec1 );
echo '<BR>'.PHP_EOL;
$i++;
};
row 1 : Array ( [Post ID] => 8788277463 [Author] => Me )
row 2 : Array ( [Post ID] => 2894728477 [Author] => Me )
row 3 : Array ( [Post ID] => 3898994718 [Author] => Me )
row 4 : Array ( [Post ID] => 4891784883 [Author] => Me )
row 5 : Array ( [Post ID] => 1185819276 [Author] => Me )