15. oktober 2004 - 16:24
Der er
15 kommentarer og 3 løsninger
En smart "order by"
Hvordan jeg lave en smart order by SQL Sætning??? Jeg vil gerne at man kan trykke på eks et link og så sorter den eks efter Kunde, Status eller noget andet! Min kode ser sådan her ud: <%@ Language=VBScript %> <!--#INCLUDE VIRTUAL="islogin.asp"--> <html> <head> <LINK href="style.css" rel="stylesheet" type="text/css"> <meta http-equiv="Content-Language" content="da"> <title>KE-Burgmann Bredan A/S MCAU Partner Site</title> <style> a {text-decoration:none;} </style> <style fprolloverstyle>A:hover {color: #050B51; font-size: 10 px; font-family: Arial} </style> </head> <body topmargin="0" leftmargin="0" bgproperties="fixed" background="images/line.gif" link="#008000" vlink="#008000" alink="#008000"> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber2" bgcolor="#050B51"> <tr> <td width="100%"><img border="0" src="images/logo.jpg"></td> </tr> </table> <div align="center"> <p align="left"><font size="1" face="Arial"> Logged in as: <%response.write Session("contact")%><br> <font size="1" face="Arial">Customer Number: <% response.write Session("customer")%><br> <font size="1" face="Arial">Your LoginID is: <% response.write Session("LoginID")%></font></p> <center> <table border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="90%" id="AutoNumber2" bgcolor="#FFFFFF"> <tr> <td width="100%"> </div> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1"> <tr> <td width="25%" height="20"><b><font face="Arial" size="2">OrderNumber:</font></b></td> <td width="25%" height="20"><b><font face="Arial" size="2">Your Ref No:</font></b></td> <td width="25%" height="20"><b><font face="Arial" size="2">Status:</font></b></td> </font></font> <td width="13%" height="20"><b><font face="Arial" size="2">Quote Date:</font></b></td> <td width="12%" height="20"><b><font face="Arial" size="2">New:</font></b></td> </tr> <font size="1" face="Arial"><font size="1" face="Arial"> <% Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../cgi-data/database.mdb") Conn.Open DSN Dim rsShowOrder Dim rsOrder set rsOrder= server.Createobject("ADODB.Recordset") If Session("customer") = "100000" Then SQL_String = "Select * from orderliste" Else SQL_String = "Select * from orderliste WHERE customer= "& Session("customer") &" order by customer ASC" end if rsOrder.open SQL_String, Conn Dim even, className even = true Do until rsOrder.EOF If Even Then Even = false className = "GreyCells" Else Even = true className = "WhiteCells" End If response.write("<tr class='"&className&"'>") response.write("<td height='20' width='25%'>") strOrder = "<a href=ordershow.asp?id=" & rsOrder("id") & ">" & "<font face='Arial' size='1'>" & rsOrder("Customer") & "-" & rsOrder("id") & "</a>" response.write strOrder response.write("</td>") response.write("<td height='20' width='25%'>")& "<font face='Arial' size='1'>" & rsOrder("CustomerRef") & "</b>" response.write("</td>") response.write("<td height='20' width='25%'>")& "<font face='Arial' size='1'>" & rsOrder("status") & "</b>" response.write("</td>") response.write("<td height='20' width='25%'>")& "<font face='Arial' size='1'>" & rsOrder("dato") & "</b>" response.write("</td>") response.write("</td>") response.write("<td height='20' width='25%'>")& "<font face='Arial' size='1'>" & rsOrder("New") & "</b>" response.write("</tr>") rsOrder.Movenext loop %> </td> <td colspan="5" width="25%"> </td> </tr> <tr> <td colspan="5" width="25%"><%strNyOrder = "<a href=orderadd.asp?customer=" & Session("Customer") & "><font face='Arial' size='1'>" & "New Quote" & "</a>" response.write strNyOrder%></td> </tr> <tr> <td colspan="5" width="25%"><a href="forsiden.asp"><font face="Arial" size="1">Goto index</a></font></td> </tr> <tr> <td colspan="5" width="25%"><a href="java script:window.close();"><font face="Arial" size="1">Logout</font></td> </tr> </table> </td> </tr> </table> </center> <p> </p> <p> </p> <p> </p> </div> </font></font> </body> </html>
Annonceindlæg fra Computerworld
15. oktober 2004 - 16:26
#1
Hvis nu man kunne trykke på den øverste linje (altså overskriften), og så den sorterede efter det!
15. oktober 2004 - 16:31
#2
strOrder = Request.querystring("Order") If strOrder = "" Then strOrder = "customer" End if SQL_String = "Select * from orderliste WHERE customer= "& Session("customer") &" order by " & strOrder & " ASC" På linkene legger du kun til ?Order=[feltnavn]
15. oktober 2004 - 16:33
#3
i stedet for: SQL_String = "Select * from orderliste WHERE customer= "& Session("customer") &" order by customer ASC" noget ala: if Request.Querystring("sortby") = "customerref" Then SQL_String = "Select * from orderliste WHERE customer= "& Session("customer") &" order by customerref" Else If Request.Querystring("sortby") = "status" Then SQL_String = "Select * from orderliste WHERE customer= "& Session("customer") &" order by status" o.s.v... End If ;o)
15. oktober 2004 - 16:34
#4
<tr> <td width="25%" height="20"><b><font face="Arial" size="2"><a href="<%=Request.ServerVariables("SCRIPT_NAME")%>?Order=[feltnavn i databasen]">OrderNumber:</a></font></b></td> <td width="25%" height="20"><b><font face="Arial" size="2">Your Ref No:</font></b></td> <td width="25%" height="20"><b><font face="Arial" size="2">Status:</font></b></td> </font></font> <td width="13%" height="20"><b><font face="Arial" size="2">Quote Date:</font></b></td> <td width="12%" height="20"><b><font face="Arial" size="2">New:</font></b></td> </tr>
15. oktober 2004 - 16:37
#5
dine overskrifter skal linke til sammeside.asp?orderstyle=hvad-der-skal-sorteres-efter i din kode sætter du så if request("orderstyle") <> "" then orderstyle = request("orderstyle") else orderstyle = "customer" end if og din sql hedder så SQL_String = "Select * from orderliste order by" & orderstyle Kan du følge det?
15. oktober 2004 - 16:40
#6
//Cpufan det er jo akkurat det jeg har sagt.
15. oktober 2004 - 16:45
#7
so what, jeg sidder sgu da ikke og trykker opdater mens jeg skriver, for at se om der er nogen der skriver det samme.... iøvrigt er det ikke det samme.... men resultatet bliver det samme
15. oktober 2004 - 16:47
#8
Nu er den TOTAL SKODET OP!
15. oktober 2004 - 16:50
#9
min side hedder: orderliste.asp
15. oktober 2004 - 16:54
#10
link = orderliste.asp?Order=Status eller ?Order=Dato eller ?Order=New
15. oktober 2004 - 16:56
#11
Nu kommer den bare frem som altid
15. oktober 2004 - 16:57
#12
<a href="orderliste.asp?order=CustomerRef">Your Ref No</a>
15. oktober 2004 - 16:58
#13
Hele koden... <%@ Language=VBScript %> <!--#INCLUDE VIRTUAL="islogin.asp"--> <html> <head> <LINK href="style.css" rel="stylesheet" type="text/css"> <meta http-equiv="Content-Language" content="da"> <title>KE-Burgmann Bredan A/S MCAU Partner Site</title> <style> a {text-decoration:none;} </style> <style fprolloverstyle>A:hover {color: #050B51; font-size: 10 px; font-family: Arial} </style> </head> <body topmargin="0" leftmargin="0" bgproperties="fixed" background="images/line.gif" link="#008000" vlink="#008000" alink="#008000"> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber2" bgcolor="#050B51"> <tr> <td width="100%"><img border="0" src="images/logo.jpg"></td> </tr> </table> <div align="center"> <p align="left"><font size="1" face="Arial"> Logged in as: <%response.write Session("contact")%><br> <font size="1" face="Arial">Customer Number: <% response.write Session("customer")%><br> <font size="1" face="Arial">Your LoginID is: <% response.write Session("LoginID")%></font></p> <center> <table border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="90%" id="AutoNumber2" bgcolor="#FFFFFF"> <tr> <td width="100%"> </div> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1"> <tr> <td width="25%" height="20"><b><font face="Arial" size="2"><a href="orderliste.asp?Order=id">OrderNumber:</a></font></b></td> <td width="25%" height="20"><b><font face="Arial" size="2"><a href="orderliste.asp?Order=CustomerRef">Your Ref No:</a></font></b></td> <td width="25%" height="20"><b><font face="Arial" size="2"><a href="orderliste.asp?Order=status">Status:</a></font></b></td> </font></font> <td width="13%" height="20"><b><font face="Arial" size="2"><a href="orderliste.asp?Order=dato">Quote Date:</a></font></b></td> <td width="12%" height="20"><b><font face="Arial" size="2"><a href="orderliste.asp?Order=New">New:</a></font></b></td> </tr> <font size="1" face="Arial"><font size="1" face="Arial"> <% Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../cgi-data/database.mdb") Conn.Open DSN Dim rsShowOrder Dim rsOrder If strOrder = "" Then strOrder = "customer" End if set rsOrder= server.Createobject("ADODB.Recordset") If Session("customer") = "100000" Then SQL_String = "Select * from orderliste" Else SQL_String = "Select * from orderliste WHERE customer= "& Session("customer") &" order by " & strOrder & " ASC" end if rsOrder.open SQL_String, Conn Dim even, className even = true Do until rsOrder.EOF If Even Then Even = false className = "GreyCells" Else Even = true className = "WhiteCells" End If response.write("<tr class='"&className&"'>") response.write("<td height='20' width='25%'>") strOrder = "<a href=ordershow.asp?id=" & rsOrder("id") & ">" & "<font face='Arial' size='1'>" & rsOrder("Customer") & "-" & rsOrder("id") & "</a>" response.write strOrder response.write("</td>") response.write("<td height='20' width='25%'>")& "<font face='Arial' size='1'>" & rsOrder("CustomerRef") & "</b>" response.write("</td>") response.write("<td height='20' width='25%'>")& "<font face='Arial' size='1'>" & rsOrder("status") & "</b>" response.write("</td>") response.write("<td height='20' width='25%'>")& "<font face='Arial' size='1'>" & rsOrder("dato") & "</b>" response.write("</td>") response.write("</td>") response.write("<td height='20' width='25%'>")& "<font face='Arial' size='1'>" & rsOrder("New") & "</b>" response.write("</tr>") rsOrder.Movenext loop %> </td> <td colspan="5" width="25%"> </td> </tr> <tr> <td colspan="5" width="25%"><%strNyOrder = "<a href=orderadd.asp?customer=" & Session("Customer") & "><font face='Arial' size='1'>" & "New Quote" & "</a>" response.write strNyOrder%></td> </tr> <tr> <td colspan="5" width="25%"><a href="forsiden.asp"><font face="Arial" size="1">Goto index</a></font></td> </tr> <tr> <td colspan="5" width="25%"><a href="java script:window.close();"><font face="Arial" size="1">Logout</font></td> </tr> </table> </td> </tr> </table> </center> <p> </p> <p> </p> <p> </p> </div> </font></font> </body> </html>
15. oktober 2004 - 17:03
#14
Ja det virker ikke...
15. oktober 2004 - 17:05
#15
Hvis jeg eks skriver: <%response.write strOrderSort %> Så sriver den bare customer!
15. oktober 2004 - 17:09
#16
NU kom den!
15. oktober 2004 - 17:10
#17
der hvor du har If strOrder = "" Then strOrder = "customer" End if skal du rette til strOrder = request("Order") If strOrder = "" Then strOrder = "customer" End if
15. oktober 2004 - 17:16
#18
tak for points... ;o)
Kurser inden for grundlæggende programmering