0 0

请教一个数据库字段排序的问题30

有一堆产品,在数据库里有一个字段标识其在网页浏览时的顺序,现在想让拥有者管理其排序显示顺序,
在列表页面允许通过拖拽产品或输入特定顺序值的方式改变其顺序
想到的方法有两个 一个笨办法将传回的id全部按顺序更新
第二个 将排序字段间隔扩大,这样比如第一个插最后个只需将第一个插到最后个数据的后面,对前面
数据没影响,但困难的是 如何知道传回的id那些是需要改变的
需求要允许多个改变 一次提交

第一个办法的涉及到跨页排序就很惨了
第二个办法卡在如何知道要更新那些顺序上
请教高手
问题补充:
第三个办法刚才看到:
swallor :
假设插入在P处(顺序号是不会重复的吧,orderNo=P),一是新插入记录,这时一次update就可以了:update tabName set orderNo=orderNo+1 where orderNo>P;
insert into ..orderNo=P where id=newID;
第二种情况是移动一条记录N到P处,分为N>P和N<P两种情况,也是update就可以了

但是如果一次提交涉及到多个次序变化这样操作还是会有很多sql语句
请教最精简的方法!
问题补充:
今天做出的初步解决方案
在页面用js保留最初的id ,相应的排序值,提交的时候把这两个初始值和改变了位置的id一起传回,比如
顺序   1 2 3 4
初始   a b c d
排序1  d a b c
排序2  a b d c
只要将一新一旧id数组同位置的相比较若不相同则设相应的位置值 更新 完成排序
这种解决方法只适用于不跨页的排序
如果当前页50个 通过输入的方式要排到第60个 就得用插入算法了
看过阿里的拖拽排序 不知道他们怎么实现的
期待高手指点


问题补充:
想找个最有效率的解决方式就比较烦了
2008年5月29日 19:32

8个答案 按时间排序 按投票排序

0 0

分页也可啊 总有开始索引记录吧 在前台javascript计算好 id---neworderno等字串值 到后台在分析 生成对应的sql。

还有就是ajax 移动一次修改一次。

2008年6月11日 20:29
0 0

同问,请高手来解答

2008年6月05日 13:31
0 0

PS :

the talbe  of Your DataBase  have to three  ID filed:

" ID   previousID   nextID "



Save the sort order,

when   display  it,   you  show by nextId and

the first Node's  previousID is  null or 0, 
the last Node's  nextID is null or 0

2008年6月04日 21:43
0 0



Sorry, my OS hasn't chinese input tool...........

And excuse my pool Englis..........-_-!


ago, I made a drag sort View  by ASP,

find the problem  the same to you.


My way is  that  use    Bidirectional   circle  chain talbe(双向循环链表)

Data structure.


you can have a  Google or Baidu

2008年6月04日 21:38
0 0

如果有十万条记录,你还要做这样的功能,就当我什么也没说。
如果在一千条记录以下,可以用啥希表这样的东西来记录改变的就可以了。
最后将啥希表里的数据传给服务器即可。
有主键的情况下,一次更新一两百条记录不算什么,更何况你这个功能用的人少,用的次数少,不用这么伤脑筋阿。
用数组也可以,查找,更新就行。最后将结果传给复务器。

2008年6月02日 12:44
0 0

需求要允许多个改变 一次提交
没注意看这个,
主要步骤在浏览器端了。
有难度

2008年5月29日 23:43
0 0

browser side ,or client side drag drop , handle the drag item and drop item

then request
swap.action?id1=1&id2=2&pos1=5&pos2=6

-> swap(id1,id2,pos1,pos2)

-> update pos= pos2 where id=id1
   update pos =pos1 where id = id2

如果只是交换,而没有插入操作的话,这种方法就可以了。

2008年5月29日 23:32
0 0

想不出有什么好的方法,帮__顶

2008年5月29日 23:13

相关推荐

    高校人事管理系统实践报告.doc

    高校人事管理面临的问题主要包括教职工信息的存储、更新和检索效率低下,需要一个集中化的系统来解决这些问题。 1.2 技术分析: 系统采用Java语言开发,考虑到其跨平台性和丰富的库支持。数据库选用关系型数据库,...

    大学一级计算机

    7. 数据库基础:虽然在一级考试中不会深入,但考生需要理解数据库的基本概念,如表、字段、记录,以及简单的查询操作。 8. 信息技术伦理与法律法规:包括知识产权保护、网络道德、个人信息保护等基本法律知识。 9....

    cmd-bat-批处理-脚本-rimraf.zip

    cmd-bat-批处理-脚本-rimraf.zip

    ADS官网的混频器仿真教程

    该资源文件详细介绍了如何在ADS软件中进行混频器仿真,内容涵盖了仿真设置、参数调整、结果分析等多个方面。

    cmd-bat-批处理-脚本-Messagebox_Cancel_TryAgain_Continue.zip

    cmd-bat-批处理-脚本-Messagebox_Cancel_TryAgain_Continue.zip

    基于C#的OpcUa通讯实现:KEPserverEX服务器远程连接与测试工具UaExpert的应用 OpcUa

    内容概要:本文详细介绍了如何使用C#客户端实现OpcUa通讯,具体包括远程连接KEPserverEX服务器的方法及其应用。文中不仅提供了详细的环境准备工作指导,还给出了具体的代码示例用于创建会话和连接服务器,最后通过UaExpert测试工具验证了整个流程的有效性。这是一套亲测稳定高效的解决方案,适用于工业自动化领域的数据传输和控制。 适合人群:从事工业自动化领域的研发人员和技术爱好者,尤其是那些有C#编程经验并对OpcUa通讯感兴趣的开发者。 使用场景及目标:①帮助开发者掌握C#客户端连接KEPserverEX服务器的具体方法;②提供实用的代码示例和测试工具使用指南,便于快速上手;③确保数据传输的安全性和稳定性,提高工作效率。 其他说明:文章强调了环境准备的重要性,包括安装必要的开发工具和库,同时也指出了可能遇到的问题及解决办法。此外,还提到了UaExpert作为一款优秀的测试工具,在验证连接和数据交互方面的优势。

    人工智能中的自动逻辑推理.zip

    人工智能中的自动逻辑推理.zip

    cmd-bat-批处理-脚本-os2_cid_install.zip

    cmd-bat-批处理-脚本-os2_cid_install.zip

    C++实现贝塞尔法大地主题正算与反算

    在武汉大学大地测量学基础的编程作业中,我已完成相关任务。通过使用教材中的算例进行验证,程序运行结果的误差极小,这充分证明了程序的准确性和可靠性。在公式推导过程中,我严格遵循步骤,确保每一步都清晰严谨,从而保证了最终结果的高精度。作业中还提供了灵活的选择,用户可以根据自己的需求选择正算或反算操作,并且可以手动输入任意坐标,方便进行多样化的计算和验证。

    警 院指挥教学数字训练系统设计-公 安院校电子沙盘教学系统设计.zip

    警 院指挥教学数字训练系统设计——公 安院校电子沙盘教学系统设计.zip

    cmd-bat-批处理-脚本-un-java.zip

    cmd-bat-批处理-脚本-un-java.zip

    cmd-bat-批处理-脚本-SetForegroundWindow.zip

    cmd-bat-批处理-脚本-SetForegroundWindow.zip

    GSP软件在航空发动机及燃气轮机模型设计中的应用:稳态与瞬态性能仿真 瞬态性能

    内容概要:本文详细介绍了GSP软件在航空发动机和燃气轮机模型设计中的应用。首先,讨论了如何利用GSP软件构建不同类型的航空发动机(如涡扇、涡喷、涡轴)和燃气轮机模型,涵盖了从进气道到涡轮各组成部分的建模。接着,阐述了稳态特性的循环计算方法,包括空气、燃油、燃气等组分的变换及其能量转换和物质交换的计算。最后,探讨了瞬态性能计算和部件性能衰退降级仿真,通过时间序列分析和动态仿真模块,模拟发动机在不同工况下的瞬态响应和故障数据,从而全面评估发动机的性能。 适合人群:从事航空发动机和燃气轮机研究的设计工程师、研究人员和技术专家。 使用场景及目标:适用于需要深入了解航空发动机和燃气轮机构造、稳态和瞬态性能的研究和开发项目。目标是提高对发动机工作原理的理解,优化设计流程,提升性能预测精度。 其他说明:文中提到的技术手段不仅限于理论分析,还包括实际操作层面的代码实现,帮助读者掌握具体的建模和仿真技巧。

    cmd-bat-批处理-脚本-installtrusted.zip

    cmd-bat-批处理-脚本-installtrusted.zip

    用MATLAB编写的二维动态破裂建模的BIEM代码,.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

    威布尔杂波下扩展目标检测.zip

    威布尔杂波下扩展目标检测.zip

    remotesensing-13-04370-v2.pdf

    remotesensing-13-04370-v2.pdf

    二十四节气之霜降介绍.pptx

    二十四节气之霜降介绍.pptx

    2025年网络安全技术漏洞扫描.docx

    2025年网络安全技术漏洞扫描.docx

    cmd-bat-批处理-脚本-virtualcam-uninstall.zip

    cmd-bat-批处理-脚本-virtualcam-uninstall.zip

Global site tag (gtag.js) - Google Analytics