手工排序问题

bandrui 2006-02-04 08:44:36
一个网站的菜单,要求可以在后台通过在文本框中输入数字进行排序.这样前台菜单出现的顺序可以按照后台输入的数字大小排序.请问后台怎么写,谢谢,顺便祝大家新年快乐,工资多多.
...全文
143 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangflove 2006-05-08
  • 打赏
  • 举报
回复
贴出去才发现这么长啊!!!晕。

谁有短一点的排序代码给一个啊!
wangflove 2006-05-08
  • 打赏
  • 举报
回复
填写数字的方法以前用,还要自己算数字,麻烦,今天直接做成前移后移了,方便。

哈哈。以下是代码:

<%
if request.QueryString("downorup")<>"" then
set rs1=server.CreateObject("adodb.recordset")
sql1="select id,sxh from channel where id="&request.QueryString("id")
rs1.open sql1,conn,1,3
if not rs1.eof then
if request.QueryString("downorup")="up" then
rs1("sxh")=rs1("sxh")-1
rs1.update
end if
if request.QueryString("downorup")="down" then
rs1("sxh")=rs1("sxh")+1
rs1.update
end if
rs1.close
set rs1=nothing

set rs2=server.CreateObject("adodb.recordset")
if request.QueryString("downorup")="up" then
sql2="select id,sxh from channel where id="&request.QueryString("id")-1
end if
if request.QueryString("downorup")="down" then
sql2="select id,sxh from channel where id="&request.QueryString("id")+1
end if
rs2.open sql2,conn,1,3
if request.QueryString("downorup")="up" then
rs2("sxh")=rs2("sxh")+1
rs2.update
end if
if request.QueryString("downorup")="down" then
rs2("sxh")=rs2("sxh")-1
rs2.update
end if
call msg("1","更改成功","admin_pdlist.asp","")
rs2.close
set rs2=nothing
end if
end if
%>

=================

反正象这种顺序调整也不会是天天调,一年有两次都算多了,马马虎虎将就者用吧。

字段sxh是数字型的。添加新记录的时候sxh值取rs.recordcount+1,输出就用sxh排序。
adm5129075 2006-05-08
  • 打赏
  • 举报
回复
在菜单记录里加个,自定义排序字段,然后输出以自定义排序字段排序

如表结构
id sort_num menu_name
1 3 aaaa
2 1 bbbb
3 2 cccc

set rs=server.createobject("adodb.recordset")
select * from table_name order by sort_num

agaovxy 2006-05-08
  • 打赏
  • 举报
回复


mm 选定值为rs("id")
if request("mm")<>"" then
a=request("mm")
aryid=split(a,",")
set rs=server.CreateObject("adodb.recordset")
for i=0 to ubound(aryid)
sql="update board set xu="&a&"where id="&aryid(i)
rs.open sql,conn,3,2
next
end if
bandrui 2006-05-08
  • 打赏
  • 举报
回复
d
bandrui 2006-03-03
  • 打赏
  • 举报
回复
For Each Element In request.Form
For i=1 To request.Form(element).count
If InStr(element,"trs")<>0 then
theid=Trim(Mid(element,6,3))
result=request.Form(element)(i)
sql="update webroom set R_RS='"&result&"' where R_ID="&theid
response.wirte sql
response.end
accon.execute(sql)
End If
Next
Next
================
我是这样做的.但是不行
bandrui 2006-02-04
  • 打赏
  • 举报
回复
这里我知道。关键是后台如果有很多文本框怎么取值,每个文本框对应一个菜单
孟子E章 2006-02-04
  • 打赏
  • 举报
回复
一般在数据库表中设置一个sequ顺序字段,取数据的时候select * from tableName order by sequ即可
ybfqlyq 2006-02-04
  • 打赏
  • 举报
回复
這個就是批量添加記錄的程序了。。
用FOR EACH 語句去做。

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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