Hej!
Du får hämta de senaste 5 med TOP i selectfrågan.
Tex i access:
SELECT TOP 5 * FROM tabell ORDER BY field DESC
Ex i MySQL:
SELECT * FROM tabell ORDER BY field DESC LIMIT 5
och sedan skriva ut resultatet.
mvh Jörgen
19 svar · 384 visningar · startad av ampy
Ja gör ett community och på min framsida vill jag att de 5 senaste medlemmarna ska stå. Hur gör man?
Hej!
Du får hämta de senaste 5 med TOP i selectfrågan.
Tex i access:
SELECT TOP 5 * FROM tabell ORDER BY field DESC
Ex i MySQL:
SELECT * FROM tabell ORDER BY field DESC LIMIT 5
och sedan skriva ut resultatet.
mvh Jörgen
Hej!
Jag är inte så bra på asp så skulle inte du kunna skriva ut hela koden. Databasen är i access.
Hej!
Något i stil med:
strSQL = "SELECT TOP 5 Username " & _
"FROM tabellen " & _
"ORDER BY field DESC "
strConn = "DSN="
Set objConn = Server.CreateObject("ADOdb.Connection")
objconn.Open strConn
arrMedlem = objConn.Execute(strSQL).GetRows()
objConn.Close()
Set objConn = Nothing
For I = 0 To UBound(arrMedlem,2)
Username = arrMedlem(0,I)
Response.Write "" & Username & "<br> "
Next
mvh Jörgen
Hej!
Det är hela koden, men du får byta till rätt fältnamn i SQL-frågan, jag antar att ditt fält i databasen inte heter Username.
Ändra de markerade sakerna till dina uppgifter:
strSQL = "SELECT TOP 5 [b]Username[/b] " & _
"FROM [b]tabellen[/b] " & _
"ORDER BY [b]field[/b] DESC "
strConn = "[b]DSN=[/b]"
Set objConn = Server.CreateObject("ADOdb.Connection")
objconn.Open strConn
arrMedlem = objConn.Execute(strSQL).GetRows()
objConn.Close()
Set objConn = Nothing
For I = 0 To UBound(arrMedlem,2)
Username = arrMedlem(0,I)
Response.Write "" & Username & "<br> "
Next
mvh Jörgen
Det funkar inte. Måste man inte öppna databasen först. Om man måste det hur blir koden då.
Hej!
Jo det måste du. Det var därför du skulle byta ut de markerade bitarna:
Du får byta ut:
strConn = "DSN="
mot (om din connection nu ser ut så här)
strConn = "driver={Microsoft Access Driver (*.mdb)};dbq=c:\databas.mdb"
mvh Jörgen
Hej!
Byt ut field mot det fältnamnet i databasen du vill sortera efter. Rekomenderat är det fältet som är räknare tex Id eller något.
mvh Jörgen
Det blir detta felmeddelande:
Microsoft OLE DB Provider for ODBC Drivers fel '80004005'
[Microsoft][Drivrutin för ODBC Microsoft Access] Det går inte att hitta filen '(okänt)'.
/community/default.asp, rad 86
Hur ser hela koden ut nu och vilken är rad 86?
Du måste angett fel databasnamn när du öppnar databasen.
Mvh Jörgen
Så här ser hela koden ut:
<%
strSQL = "SELECT TOP 5 username " & _
"FROM username " & _
"ORDER BY ID DESC "
strConn = "driver={Microsoft Access Driver (*.mdb)};dbq=members.mdb" &";pwd=losen"
Set objConn = Server.CreateObject("ADOdb.Connection")
objconn.Open strConn
arrMedlem = objConn.Execute(strSQL).GetRows()
objConn.Close()
Set objConn = Nothing
For I = 0 To UBound(arrMedlem,2)
Username = arrMedlem(0,I)
Response.Write "" & Username & "<br> "
Next
%>
Är
"driver={Microsoft Access Driver (*.mdb)};dbq=members.mdb[b]" &"[/b];pwd=losen"
det denna du brukar använda för den ser inte rätt ut? Jag brukar inte använda en sådan anslutning så jag vet inte riktigt hur den ska se ut, men det markerade verkar vara överflödigt.
och är sökvägen till databasen rätt?
mvh Jörgen
Så här ser koden ut nu:
<%
strSQL = "SELECT TOP 5 username " & _
"FROM username " & _
"ORDER BY datum DESC "
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("members.mdb")&";pwd=losen"
Set objConn = Server.CreateObject("ADOdb.Connection")
objconn.Open strConn
arrMedlem = objConn.Execute(strSQL).GetRows()
objConn.Close()
Set objConn = Nothing
For I = 0 To UBound(arrMedlem,2)
Username = arrMedlem(0,I)
Response.Write "" & Username & "<br> "
Next
%>
Och detta felmeddelande blir det:
Körningsfel i Microsoft VBScript fel '800a01a8'
Objekt krävs.: ''
/community/default.asp, rad 84
Vilken är rad 84 då?
Annars kan du testa att splitta ned
arrMedlem = objConn.Execute(strSQL).GetRows()
till
rs = objConn.Execute(strSQL)
arrMedlem = rs.GetRows()
det brukar krångla ibland har jag märkt.
Så här ser rad 84 ut:
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("members.mdb")&";pwd=losen"
Nu är det läge att inte förivra sig när saker inte fungerar. Du har bytat ut strConn mot Connect.Open helt plötsligt.
strConn "driver={Microsoft Access Driver(*.mdb)};dbq=members.mdb"
Anger du den databaskoppling som du brukar använda så fungerar det.
mvh Jörgen
Nu blir det istället detta felmeddelande:
Körningsfel i Microsoft VBScript fel '800a000d'
Inkompatibla typer: 'strConn'
/community/default.asp, rad 84
jorgen glömde ett likhetstecken:
strConn = "driver={Microsoft Access Driver(*.mdb)};dbq=members.mdb"
mvh,