Et eksemple. Kræver en tabel som hedder submenus og disse kolonner: id : autonummer menu1_titel : tekst menu1_orden : tal
Det man sortere på er menu1_orden når man så udskriver menuen laver man en order by på menu1_order kolonnen, som bestemmer hvilken række følge de kommer i.
<HTML> <HEAD> <TITLE></TITLE> </HEAD> <BODY> <% Set Conn = Server.CreateObject("ADODB.Connection") Set rs = Server.CreateObject("ADODB.RecordSet") Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& server.mappath("db1.mdb")
'flyt op/ned dir = Request.QueryString("dir") if dir <> "" then oldId = Request.QueryString("SubMenuID") tempID = 0
SQL = "SELECT TOP 1 menu1_orden FROM submenus WHERE menu1_orden " if dir = "op" then SQL = SQL & " < " & oldID & " ORDER BY menu1_orden DESC" 'newID = Int(oldId) - 1 else SQL = SQL & " > " & oldID & " ORDER BY menu1_orden" 'newID = Int(oldId) + 1 end if 'Response.Write SQL set rs = conn.Execute(SQL) newID = rs("menu1_orden")
SQL = "UPDATE submenus SET menu1_orden = " & tempID & " WHERE menu1_orden = " & oldID Conn.Execute(SQL) SQL = "UPDATE submenus SET menu1_orden = " & oldID & " WHERE menu1_orden = " & newID Conn.Execute(SQL) SQL = "UPDATE submenus SET menu1_orden = " & newID & " WHERE menu1_orden = " & tempID Conn.Execute(SQL) end if
'Udskriv formen.. 'Så er det nødvendigt at hendte min/max menu1_orden for der ikke sker fejl..: SQL = "SELECT min(menu1_orden) as minID, max(menu1_orden) as maxID FROM submenus" set rs = conn.Execute(SQL) maxID = rs("maxID") minID = rs("minID")
SQL = "SELECT menu1_orden, menu1_titel FROM submenus ORDER BY menu1_orden" set rs = conn.Execute(SQL)
do while not rs.EOF Response.Write "<tr>" Response.Write "<td>" & rs("menu1_titel") & "<td>"
if Int(rs("menu1_orden")) > minID then Response.Write "<td><a href=""?dir=op&SubMenuId="&rs("menu1_orden")&""">ryk op</a><td>" else Response.Write "<td>...<td>" end if if Int(rs("menu1_orden")) < Int(maxID) then Response.Write "<td><a href=""?dir=ned&SubMenuId="&rs("menu1_orden")&""">ryk ned</a><td>" else Response.Write "<td>...<td>" end if Response.Write "</tr>"
sql = "SELECT * FROM teams WHERE code LIKE 'Senior' ORDER BY sort_order" set rs = Apples2.execute(sql) while not rs.eof
Response.Write("<tr>" & vbcrlf) if rs("aktive") = true then Response.Write(" <td width=""31%""><b>" & rs("Teamname") & "</b></td>" & vbcrlf) else Response.Write(" <td width=""31%"">" & rs("Teamname") & "</td>" & vbcrlf) end if if rs("aktive") = true then Response.Write(" <td width=""9%"" align=""center"">Ja</td>" & vbcrlf) else Response.Write(" <td width=""9%"" align=""center"">Nej</td>" & vbcrlf) end if Response.Write(" <td width=""20%"" align=""center"">" & rs("sort_order") & "</td>" & vbcrlf) Response.Write(" <td width=""20%""> </td>" & vbcrlf) Response.Write(" <td width=""20%""> </td>" & vbcrlf) Response.Write(" </tr>") rs.MoveNext Wend rs.Close
Apples2.Close set Apples2 = Nothing
sort_order = orden
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.