php做一个排名,根据时间排名,图中是按时间倒序排的,排队字段需要按时间正序排。

正确的排队顺序与序号反过来了5.4.3.2.1


回复讨论(解决方案)


我是掌握魔法的大师!

不是order by time就行了么

如果按id 逆序排可以这样写

select * from table order by id desc;
登录后复制

不是order by time就行了么
这个方法是可以,但是前面的序号是按 desc,而后面的排队是按asc,所以纠结呀。老板太挑剔了

你的 排队 列并没有数据

order by 字段
desc or asc

升序 desc
降序 asc

你的 排队 列并没有数据
恩,没有数据,序号列是$key,就是按降序排的。排序列需要按升序排,sql语句只能排一次。所以现在正纠结呢。初步打算是增加个字段,然后写一条循环语句,把排名写到这个字段里。不停地循环id,这样每条数据就有了排序字段的值了。可是不会根据ID循环

那你排名的依据是什么呢?

那你排名的依据是什么呢?
排名的依据是时间升序,而序号的依据是时间降序。所以两个冲突了

你的序号是输出时 php 代码产生的
那么你的排名就是 总数-序号

序号 排名1     52     43     34     2 5     1
登录后复制
登录后复制

你的序号是输出时 php 代码产生的
那么你的排名就是 总数-序号

序号 排名1     52     43     34     2 5     1
登录后复制
登录后复制

太对了,我就是想要这种效果。怎么做出来的?具体帮我说说吧,我不明白

取得查询结果的总记录数不是很难吧?
那么
echo '序号'.$i.' 排名' . ($count-$i);
$i++;
不就行了?

09-19 04:59