在开发过程遇到了一个很纠结的问题。
就是我想把新发表的或在整个内容列表任意的位置的内容,移动到内容列表指定的位置!举个例子:
order id
---------------
4 1
3 2
2 3
1 4
我想把ID为4的数据移动到ID为2的下面。我目前的处理办法是目标ID的ORDER+1(-1)的方式来进行排序,但是,像这种有序的列表,就会出现ORDER相同的值,这个时候,在进行排序最终结果有点出乎意料。
有什么办法能够解决这个问题?
回复讨论(解决方案)
order by `order`, id
order 相同的按 id 排序
只要你遵守自己的约定,就不会出现 出乎意料 的结果
如,上图的数据,我现在想把role_id为1的数据排到10的上面,但是,结果出乎了意料。
SELECT * FROM `tbl` ORDER BY `role_sort` DESC , `role_id` DESC
不能一遇到 这种问题, 就更改一次SQL语句?
如,上图的数据,我现在想把role_id为1的数据排到10的上面,但是,结果出乎了意料。
SELECT * FROM `tbl` ORDER BY `role_sort` DESC , `role_id` DESC
不能一遇到 这种问题, 就更改一次SQL语句?
desc是倒序,由大到小排列,10当然就排到1的前面了,role_id那里用asc
就是一个表里面有很多内容,我们需要把一些自认为很重要的内容通过人为的的干预,让他到指定的位置!!!
没有规则,很自由的让他“上”,“下”移动。给你所说的DISCUZ的排序不同,我们现在考虑的就一个字段,没有类型区分。只有数字的大小来判定这条内容他的位置。
应该是这样,说得比较凌乱。
如,上图的数据,我现在想把role_id为1的数据排到10的上面,但是,结果出乎了意料。
SELECT * FROM `tbl` ORDER BY `role_sort` DESC , `role_id` DESC
不能一遇到 这种问题, 就更改一次SQL语句?
desc是倒序,由大到小排列,10当然就排到1的前面了,role_id那里用asc
OK ,
SELECT * FROM `tbl` ORDER BY `role_sort` DESC , `role_id` ASC
你说是这样子是吗。
反之,我想把ID为10的排到ID为1的上面,请问该怎么做,不能老是去更改SQL?
如,上图的数据,我现在想把role_id为1的数据排到10的上面,但是,结果出乎了意料。
SELECT * FROM `tbl` ORDER BY `role_sort` DESC , `role_id` DESC
不能一遇到 这种问题, 就更改一次SQL语句?
desc是倒序,由大到小排列,10当然就排到1的前面了,role_id那里用asc
OK ,
SELECT * FROM `tbl` ORDER BY `role_sort` DESC , `role_id` ASC
你说是这样子是吗。
反之,我想把ID为10的排到ID为1的上面,请问该怎么做,不能老是去更改SQL?
如果你想人为指定,就写个函数,你想让10在1的上面,就传个10进这个函数,显示的时候让10在上面,想让1在上面是同样的道理。就是说,在显示的时候,进行控制。
如,上图的数据,我现在想把role_id为1的数据排到10的上面,但是,结果出乎了意料。
SELECT * FROM `tbl` ORDER BY `role_sort` DESC , `role_id` DESC
不能一遇到 这种问题, 就更改一次SQL语句?
desc是倒序,由大到小排列,10当然就排到1的前面了,role_id那里用asc
OK ,
SELECT * FROM `tbl` ORDER BY `role_sort` DESC , `role_id` ASC
你说是这样子是吗。
反之,我想把ID为10的排到ID为1的上面,请问该怎么做,不能老是去更改SQL?
如果你想人为指定,就写个函数,你想让10在1的上面,就传个10进这个函数,显示的时候让10在上面,想让1在上面是同样的道理。就是说,在显示的时候,进行控制。
关键是怎么去确定哪个在上面,哪个在下面。这是一个问题,?可以说说你的具体的办法么?
如,上图的数据,我现在想把role_id为1的数据排到10的上面,但是,结果出乎了意料。
SELECT * FROM `tbl` ORDER BY `role_sort` DESC , `role_id` DESC
不能一遇到 这种问题, 就更改一次SQL语句?
desc是倒序,由大到小排列,10当然就排到1的前面了,role_id那里用asc
OK ,
SELECT * FROM `tbl` ORDER BY `role_sort` DESC , `role_id` ASC
你说是这样子是吗。
反之,我想把ID为10的排到ID为1的上面,请问该怎么做,不能老是去更改SQL?
如果你想人为指定,就写个函数,你想让10在1的上面,就传个10进这个函数,显示的时候让10在上面,想让1在上面是同样的道理。就是说,在显示的时候,进行控制。
关键是怎么去确定哪个在上面,哪个在下面。这是一个问题,?可以说说你的具体的办法么?
这要看你自己定的规则了,你不是要通过人为的干预让“自认为”重要的内容到制定的位置吗?那你得先把规则搞清楚,然后才能根据规则出代码。明白吗?

PHP日志记录对于监视和调试Web应用程序以及捕获关键事件,错误和运行时行为至关重要。它为系统性能提供了宝贵的见解,有助于识别问题并支持更快的故障排除

Laravel使用其直观的闪存方法简化了处理临时会话数据。这非常适合在您的应用程序中显示简短的消息,警报或通知。 默认情况下,数据仅针对后续请求: $请求 -

PHP客户端URL(curl)扩展是开发人员的强大工具,可以与远程服务器和REST API无缝交互。通过利用Libcurl(备受尊敬的多协议文件传输库),PHP curl促进了有效的执行

Laravel 提供简洁的 HTTP 响应模拟语法,简化了 HTTP 交互测试。这种方法显着减少了代码冗余,同时使您的测试模拟更直观。 基本实现提供了多种响应类型快捷方式: use Illuminate\Support\Facades\Http; Http::fake([ 'google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

您是否想为客户最紧迫的问题提供实时的即时解决方案? 实时聊天使您可以与客户进行实时对话,并立即解决他们的问题。它允许您为您的自定义提供更快的服务

文章讨论了PHP 5.3中引入的PHP中的晚期静态结合(LSB),从而允许静态方法的运行时分辨率调用以获得更灵活的继承。 LSB的实用应用和潜在的触摸


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

SublimeText3汉化版
中文版,非常好用

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能