Chinaunix首页 | 论坛 | 博客
  • 博客访问: 29956361
  • 博文数量: 2065
  • 博客积分: 10377
  • 博客等级: 上将
  • 技术积分: 21525
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-04 17:50
文章分类

全部博文(2065)

文章存档

2012年(2)

2011年(19)

2010年(1160)

2009年(969)

2008年(153)

分类: 系统运维

2009-03-09 13:35:15

1.信息列表中会将全部的商品信息都会提取出来的哦!
sl = "select max(id) id from new where typeid='"&r_t&"'"
Set sr = Server.CreateObject("ADODB.RecordSet")
response.write(sl)
sr.open sl,conn,1,1
id = sr("id")
response.Write("ID"&id)    '测试提取最大的ID值
可以得到最大的ID值出来。
添加信息的话:是这样来写这个链接的哦!

添加信息
<<
2.如何来添加呢?
r_s=Empty_zero(request("maxid"))+1  '得到最大的ID值  会将取到的ID加一自动增长一下的
sql = "insert into new(title,typeid,author,content,djcount,addtime,order1) values('"&blank_Space(title)&"','"&r_t&"','"&blank_Space(author)&"','"&blank_Space(content)&"','"&djcount&"','"&formatdatetime(addtime)&"','"&r_s&"')"
‘默认的排序字段的值为  当前的最大值ID加一的哦

3.如何来让管理员来手动操作这些顺序呢?
来看列表
sql = "SELECT * FROM new where typeid="&r_t&" order by order1 desc"
它是以order1进行排序的哦!而不是以ID进行的呢!

rs.MovePrevious
            if Rs.Bof then
                id1=0
            else
                id1=id  '0或者是 主键
            end if
            rs.movenext
            rs.movenext
            if Rs.Eof then
                id2=0
            else
                id2=id
            end if
            rs.MovePrevious
在显示出来的时候要注意一点:如果是在第一行记录的时候那么idl=0如果是最后一行时id2=0
然后在编辑提升还是下降的时候的代码中添加如下的代码:
 【
              <%if id1<>0 then
                   response.write("")
                   else
                   response.write("上")
                   end if
                   %>
              】【
              <%if id2<>0 then
                   response.write("")
                   else
                   response.write("下")
                   end if
                   %>
              】
超链接到新的页面neworder.asp中去的。传了三个参数过来了:order  id  id2/id1
3. 处理新的排序页面
'排列顺序处理的
id =Empty_zero(request("id"))  '3     哪个记录 用ID来标志它
id1=Empty_zero(request("id1")) '1    
id2=Empty_zero(request("id2"))
'排序处理:重新进行了新的排序处理了!
if request.QueryString("order") = "up" then   '往上排的话
    conn.execute("update new set order1="&order1&" where id="&id)
    conn.execute("update new set order1="&order&" where id="&id1)
elseif request.QueryString("order") = "next" then   '往下排的话
    conn.execute("update new set order1="&order2&" where id="&id)
    conn.execute("update new set order1="&order&" where id="&id2)
end if

总结思路:
举例说明:
ID   NAME   Orders
1    A      1
2    B      2
3    C      3
处理新增商品:
当前最大的ID为3故传3到新增页面:新加的商品的ID变成了4
当前所有的商品显示出来的顺序如下:
select * from products order by orders asc
显示格式如下:
ID   NAME   Orders                   
1    A      1     id1=0    id2=1
2    B      2     id1=2    id2=2
3    C      3     id1=3    id2=0
当idl=0的时候就不能再上升了。当id2=0的时候就不能再下降了。
如果要上升的话引入如下的超链接进来
if id1<>0 then
    response.write("")
如果要下降的话如下的超链接:
response.write("")

OK来看看这个引入的超链接吧!
'排列顺序处理的
id =Empty_zero(request("id"))  '3     哪个记录 用ID来标志它
id1=Empty_zero(request("id1")) '1    
id2=Empty_zero(request("id2"))

if id1 <> 0 then
    set rs1=conn.execute("select order1 from new where id ="&id1)
    IF Not rs1.eof Then
        order1=rs1(0)
    end if
elseif id2 <> 0 then
    set rs2=conn.execute("select order1 from new where id ="&id2)
    IF Not rs2.eof Then
        order2=rs2(0)
    end if
else
    response.End()
end if
'排序处理:重新进行了新的排序处理了!
if request.QueryString("order") = "up" then   '往上排的话
    conn.execute("update new set order1="&order1&" where id="&id)
    conn.execute("update new set order1="&order&" where id="&id1)
elseif request.QueryString("order") = "next" then   '往下排的话
    conn.execute("update new set order1="&order2&" where id="&id)
    conn.execute("update new set order1="&order&" where id="&id2)
end if

如果要修改的话可以新增一个字段进来的哦!然后显示的时候就走这条路吧!

修改完了之后可以直接这样来写:
Response.Redirect(Request.serverVariables("HTTP_REFERER"))
就直接跳回了原来页面了不会有刷新感觉的!




阅读(1330) | 评论(0) | 转发(0) |
0

上一篇:Linux中的SED学习

下一篇:大公司招聘要求

给主人留下些什么吧!~~