现在我有一个分类,我想让用户自定义排序怎么办?类似这样。大家一定都做过吧

于娜 2007-05-15 12:25:29
现在我有一个分类,我想让用户自定义排序怎么办?就是在分类后有一个向上、向下的按钮,按的时候就可以自由排序?

类似这样。大家一定都做过吧



ID号 分类名 排序
1 name1 ....... ↑ | ↓
2 name2 ....... ↑ | ↓
3 name2 ....... ↑ | ↓
4 name3 ....... ↑ | ↓

明白没?


尖头代表上移 和下移!

...全文
207 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
tian123xxx 2007-05-15
  • 打赏
  • 举报
回复
向下的:
CREATE procedure DownPlace
(
@ID int ,
@Place int
)
as

declare @count int
select @count = (select count(*) from Sy_Link where Link_Type=0 and Link_Sort > @Place)

if (@count >0)
begin
update Sy_Link set Link_Sort = link_Sort-1 where Link_Type=0 and link_sort = @Place+1

update Sy_Link set Link_Sort = link_Sort+1 where link_ID = @ID
end

GO
tian123xxx 2007-05-15
  • 打赏
  • 举报
回复
先把向上的写个:
CREATE procedure UpPlace(
@ID int ,
@Place int
)
as
declare @count int
select @count = (select count(*) from Sy_Link where Link_Type=0 and Link_Sort < @Place)
if (@count >0)
begin

update Sy_Link set Link_Sort = link_Sort+1 where Link_Type=0 and link_sort = @Place-1

update Sy_Link set Link_Sort = link_Sort-1 where link_ID = @ID

end
tian123xxx 2007-05-15
  • 打赏
  • 举报
回复
加Order_id字段就可办到了。
须注意几个问题,
当向上的时候已为顶则数值不让其再发生变化,反之然。
如果0为底数,你初始数值都是0,则不让其再向上做处理了,只须向下,
其它正常情况,当移动数值时,把数据做个替换,,即可。
给你发个类似的代码吧。邮箱发我
dengenming 2007-05-15
  • 打赏
  • 举报
回复
再加一个orderDate 排序时再按order_id +1或-1后时间决定一下先后?如何

dengenming 2007-05-15
  • 打赏
  • 举报
回复
再加一个orderDate 排序时再按时再来排?
andy0618 2007-05-15
  • 打赏
  • 举报
回复
然后我在次基础上 + 1 -1 操作,还是乱

------------------
楼主想要的意思好象没有说清楚吧
Cnaspnet 2007-05-15
  • 打赏
  • 举报
回复
就是在查询语句里的order by 加desc和去掉desc而已
于娜 2007-05-15
  • 打赏
  • 举报
回复
所有ORDER 初始都是 0

然后我在次基础上 + 1 -1 操作,还是乱
dengenming 2007-05-15
  • 打赏
  • 举报
回复
有啥问题啊。 你读取出来的时候order by order_id desc 了吗?
于娜 2007-05-15
  • 打赏
  • 举报
回复

有人说加个 ORDER_ID 字段
像下面这样操作,sql="update table set order_id=order_id+1"

可还是有问题啊,不行。


62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧