20. februar 2004 - 16:16
Der er
24 kommentarer og 2 løsninger
Sorter efter
Jeg har oprettet en liste, hvorpå alle mine oprettede brugere vises - sorteret efter oprettelses-datoen. Nu har jeg så lavet en "Select-box" hvor man kan vælge andre oplysninger, den skal sortere efter, men jeg mangler koden... Hvad skal jeg skrive i koden? _____ Dette er min nuværende kode: <b> Alle brugere:<br><br> </b><form method="POST" action="--WEBBOT-SELF--"> <p> Sorter efter:<br> <select size="1" name="sorter"> <option selected value="Oprettet">Oprettet</option> <option value="Brugernavn">Brugernavn</option> <option value="Kommentarer">Kommentarer</option> <option value="Forum-indlæg">Forum-indlæg</option> <option value="Sidste login-dato">Sidste login-dato</option> </select></p> </form> <hr color="#000000" size="1"> <% Set myConn = Server.CreateObject("ADODB.Connection") myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../admin/db/database.mdb") strSQL = "SELECT ID, username, antalkomm, antalforum, slogin, [oprettet] FROM brugere ORDER BY oprettet DESC" Set rs = myConn.Execute(strSQL) If Not (rs.BOF Or rs.EOF) Then Response.Write "<table border=1>" Response.Write "<tr><th><font color='#a21709' face='Verdana' size=2><p align=left>Oprettet</p></font></th><th><font face='Verdana' color='#a21709' size=2><p align=left>Brugernavn</p></font></th><th><font color='#a21709' face='Verdana' size=2><p align=left>Kommentarer</p></font></th><th><font color='#a21709' face='Verdana' size=2><p align=left>Forumindlæg</p></font></th><th><font color='#a21709' face='Verdana' size=2><p align=left>Sidste login-dato</p></font></th></tr>" Do While Not rs.EOF Response.Write "<tr><td width=150><font face='Verdana' size=1>" & rs("oprettet") & "</font></td>" Response.Write "<td><font face='Verdana' size=2><a href='profil.asp?id=" & rs("id") & "' target='_self'><b>" & rs("username") & "</b></a></font></td>" Response.Write "<td><font face='Verdana' size=2>" & rs("antalkomm") & "</font></td>" Response.Write "<td><font face='Verdana' size=2>" & rs("antalforum") & "</font></td>" Response.Write "<td><font face='Verdana' size=2>" & rs("slogin") & "</font></td></tr>" rs.MoveNext Loop Response.Write "</table>" Else ' Hvis der ikke er fundet nogle nyheder Response.Write "<p><font face='Verdana' size=2>Der er ikke fundet nogle brugere!</font></p>" End If myConn.Close Set Conn = Nothing %> _____ Nogen som kan hjælpe? Foru
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
20. februar 2004 - 16:20
#1
Prøv: strSQL = "SELECT ID, username, antalkomm, antalforum, slogin, [oprettet] FROM brugere ORDER BY " & request.form("sorter") & " DESC"
20. februar 2004 - 16:20
#2
strSQL = "SELECT ID, username, antalkomm, antalforum, slogin, [oprettet] FROM brugere ORDER BY " & Request.form("sorter") & " DESC"
20. februar 2004 - 16:21
#3
Dine value="" skal matche de felter der er i databasen! Ellers virker det ikke..
20. februar 2004 - 16:21
#4
jeg er bare en skygge ;-)
20. februar 2004 - 16:22
#5
hehe :)
21. februar 2004 - 19:43
#6
Hmmm.... Jeg får denne besked, når jeg forsøger at afspille koden på serveren: Microsoft OLE DB Provider for ODBC Drivers error '80040e14' [Microsoft][ODBC Microsoft Access Driver] Syntax error in ORDER BY clause. /musicstuff/bruger/bruger-liste.asp, line 45 Hvad er der galt?
21. februar 2004 - 20:02
#7
Hvordan ser din sql streng ud?
21. februar 2004 - 20:03
#8
Den hedder nu: strSQL = "SELECT ID, id, username, antalkomm, antalforum, slogin, [oprettet] FROM brugere ORDER BY " & request.form("sorter") & " DESC"
21. februar 2004 - 20:06
#9
har du husket?: "Dine value="" skal matche de felter der er i databasen! Ellers virker det ikke.." Dvs, hvis feltet til "Sidste login-dato" hedder "lastlogin", skal der f.eks. stå: <option value="lastlogin">Sidste login-dato</option> Læg mærke til at value="NOGET_HER" er navnet på feltet i databasen.
21. februar 2004 - 23:13
#10
Nå, SÅDAN... Okey... Prøver lige!
21. februar 2004 - 23:24
#11
Nope... Virker stadig ikke... For at vide, der er en syntax-fejl i min "ORDER BY clause"...
21. februar 2004 - 23:25
#12
Jo, måske virker det...
21. februar 2004 - 23:25
#13
Ja, nu viser den ingen fejl... Der manglede bare et par '! Men... Der skal vist være en "submit"-knap, for når man vælger noget på listen sker der ingenting...
22. februar 2004 - 12:21
#14
Ka' du hjælpe mig med det? Der sker ingenting, når man vælger noget i listen...
22. februar 2004 - 13:05
#15
Ret den her linie: <form method="POST" action="--WEBBOT-SELF--"> Til <form method="POST" action=dinside.asp> Inden </form> indsætter du: <input type=submit>
22. februar 2004 - 13:07
#16
Det har jeg gjort... Min kode ser nu sådan Ud: <form method="POST" action="bruger-liste.asp"> <p> Sorter efter:<br> <select size="1" name="sorter"> <option selected value="oprettet">Oprettet</option> <option value="username">Brugernavn</option> <option value="antalkomm">Kommentarer</option> <option value="antalforum">Forum-indlæg</option> <option value="slogin">Sidste login-dato</option> </select> <input type="submit" value="Udfør" name="Submit"></p> </form> Men der sker stadigvæk intet... Brugerne vises stadig i samme rækkefølge!
22. februar 2004 - 13:11
#17
og din sql ser sådan ud? strSQL = "SELECT ID, username, antalkomm, antalforum, slogin, [oprettet] FROM brugere ORDER BY " & Request.form("sorter") & " DESC"
22. februar 2004 - 13:13
#18
Hele koden: (Ucensureret!) ______________________________ <% Response.Buffer = True %> <body leftmargin="11"> <font face="Verdana" size="2pt."> <b> Alle brugere:<br> </b><form method="POST" action="bruger-liste.asp"> <p> Sorter efter:<br> <select size="1" name="sorter"> <option selected value="oprettet">Oprettet</option> <option value="username">Brugernavn</option> <option value="antalkomm">Kommentarer</option> <option value="antalforum">Forum-indlæg</option> <option value="slogin">Sidste login-dato</option> </select> <input type="submit" value="Udfør" name="Submit"></p> </form> <hr color="#000000" size="1"> <% Set myConn = Server.CreateObject("ADODB.Connection") myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../admin/db/database.mdb") strSQL = "SELECT ID, id, username, antalkomm, antalforum, slogin, [oprettet] FROM brugere ORDER BY '" & request.form("sorter") & "' DESC" Set rs = myConn.Execute(strSQL) If Not (rs.BOF Or rs.EOF) Then Response.Write "<table border=1>" Response.Write "<tr><th><font color='#a21709' face='Verdana' size=2><p align=left>Oprettet</p></font></th><th><font face='Verdana' color='#a21709' size=2><p align=left>Brugernavn</p></font></th><th><font color='#a21709' face='Verdana' size=2><p align=left>Kommentarer</p></font></th><th><font color='#a21709' face='Verdana' size=2><p align=left>Forum-indlæg</p></font></th><th><font color='#a21709' face='Verdana' size=2><p align=left>Sidste login-dato</p></font></th><th><font color='#a21709' face='Verdana' size=2><p align=left>Slet bruger</p></font></th></tr>" Do While Not rs.EOF Response.Write "<tr><td width=150><font face='Verdana' size=1>" & rs("oprettet") & "</font></td>" Response.Write "<td><font face='Verdana' size=2><a href='brugerprofil.asp?id=" & rs("id") & "' target='_self'><b>" & rs("username") & "</b></a></font></td>" Response.Write "<td><font face='Verdana' size=2>" & rs("antalkomm") & "</font></td>" Response.Write "<td><font face='Verdana' size=2>" & rs("antalforum") & "</font></td>" Response.Write "<td><font face='Verdana' size=2>" & rs("slogin") & "</font></td>" Response.Write "<td><font face='Verdana' size=2><a href='sletbruger.asp?id=" & rs("id") & "' target='_self'>Slet</a></font></td></tr>" rs.MoveNext Loop Response.Write "</table>" Else ' Hvis der ikke er fundet nogle nyheder Response.Write "<p><font face='Verdana' size=2>Der er ikke fundet nogle brugere!</font></p>" End If myConn.Close Set Conn = Nothing %> <hr color="#000000" size="1"> </font> </body>
22. februar 2004 - 17:28
#19
Jeg synes at din kode ser fint ud.. men tror ikke at der skal være ' tegn udenom request.form("sorter")..
22. februar 2004 - 17:30
#20
Og hvis valget skal sendes videre, uden at man klikker på en knap, skal koden se sådan ud: <select size="1" name="sorter" onchange="this.form.submit();">
22. februar 2004 - 17:36
#21
Hmmm... Stadigvæk sker der intet... Der vises heller ikke fejl... Jeg ser siden, som den brude se ud... Men de nægter at sortere sig på andre måder end efter oprettelses-datoen! F.eks. er brugernavnene nu: "talioniz", "Goce" og "Toby", i den rækkefølge... Men de skifter ikke placering, når man ændrer "sorter" til username... Strange!
22. februar 2004 - 17:41
#22
Det "skægge" er, at hvis man bare skriver "ORDER BY username DESC", så BLIVER de sorteret efter brugernavn!
22. februar 2004 - 17:43
#23
Ka' jeg sgu ikke hjælpe med, Foru! Og jeg har ellers prøvet at lægge den ud på en server!
22. februar 2004 - 17:47
#24
Nu har jeg prøvet, så der bare står: strSQL = "SELECT ID, id, username, antalkomm, antalforum, slogin, [oprettet] FROM brugere ORDER BY "& request.form("sorter") & "" Men jeg får beskeden: [Microsoft][ODBC Microsoft Access Driver] Syntax error in ORDER BY clause.
09. april 2004 - 09:40
#25
Det er lige meget nu... Jeg behøver det ikke længere, og jeg fik det heller ikke til at virke...!
Kurser inden for grundlæggende programmering