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
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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