php - 使用 php 脚本显示 mySQL 的结果时如何制作计数器

标签 php mysql

我对编程相当陌生,当我试图按顺序显示 sql 查询的结果时,我陷入了无限 while 循环。

我在 mySQL 表中按日期和时间排序了条目。

当我显示结果时,它确实以正确的顺序显示,但我想要一个计数器并按 1、2、3...等顺序显示结果。

现在,我直接从表“eventtable”中的 mySQL 变量“EVENTID”在 html 表中显示 EventID。

这显示了 EVENTID,当然不一定是按顺序排列的。

所以我尝试了一个 while 循环,但似乎我无法从 mysqli_fetch_array() 返回的第一行中逃脱。

任何帮助/建议将不胜感激。

最佳答案

您是否需要将此计数器作为实际查询结果的一部分,或者只是向用户显示的内容?用户显示很简单:

$counter = 1;
while($row = fetch_result_row_using_your_db_library()) {
   echo $counter;
   $counter++;
   ... do other stuff ..
}

在数据库级别执行此操作非常丑陋,涉及数据库变量和查询字段中的自递增计数器:

SET @row := 0;
SELECT @row := @row + 1 AS currow,  * FROM .... WHERE ... ORDER BY ...

关于php - 使用 php 脚本显示 mySQL 的结果时如何制作计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21609731/

相关文章:

php - 当需要一行时,laravel eloquent hasmany 关系返回

php - 无法在 Laravel 中将对象插入数据库

javascript - 在 HTML 文本区域中打印 PHP 变量

mysql 选择字段的过滤计数以及表中同一字段的总行数

php - 使用 PHP 设置选定的属性

php - 如何存储 MYSQL 过程的结果,以便我可以在另一个使用 PHP 的过程中使用它

php - WordPress 图片路径正确,但网站上不显示图片

php - 快速掌握 PHP/Javascript 的最佳方法是什么?

mysql - NodeJS Sequelize 时间戳已禁用,但仍然出现未知列 'createdAt' 错误

php - 如何用php将表单数据提交到特定数据库,我的参数有什么问题?