byt ut
Addera = "Select * From members ORDER BY datum"
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
mot
Addera = "Select * From members ORDER BY username"
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
/ Mikul
18 svar · 673 visningar · startad av Qimen
Hej jag har en data bas med medlemmar och så kan varje medlem logga in och så vidare. Men så har jag en sida där man kan se alla medlemmar. Men där är ju inte så bra att ha alla på en sida (kan ju bli rätt långt). Det jag vill att när man väljer till ex. en bokstav "A" så kommer man in på den sidan och där listar scriptet upp alla medlemmar som börjar på A.
Förstår ni?
Ex. på hur jag får upp alla.
<%
If Session("login") <> "ok" Then
Session("meddelande") = "Du har blivit urloggad, var god logga in igen!"
Response.Redirect "default.asp"
End If
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("../db/members.mdb")&";pwd=000"
Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "Select * From members ORDER BY datum"
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
%>
Det var databaskopplingen.
<%
X = 0
DO Until RecSet.EOF OR X = 50
X=X+1
%>
<tr>
<td width="55"><font size="1" color="#000000" face="Verdana, Arial, Helvetica, sans-serif"><a href="add_friend.asp?id2=<%=RecSet("id")%>" target="_self">lägg
till</a> </font></td>
<td width="100"><font size="1" color="#000000" face="Verdana, Arial, Helvetica, sans-serif"><a href="whois1.asp?checkid=<%=RecSet("id")%>"><%=RecSet("username")%></a></font></td>
<td width="100"><font size="1" color="#000000" face="Verdana, Arial, Helvetica, sans-serif"><%=RecSet("kunskap")%></font></td>
<td><b><font size="1" <%if recset("status") = "offline" then%> color="#FF0000" <%else%>color="#339933" <%end if%>face="Verdana, Arial, Helvetica, sans-serif" face="Verdana, Arial, Helvetica, sans-serif"><%=RecSet("status")%></b></font></td>
<td><font size="1" color="#000000" face="Verdana, Arial, Helvetica, sans-serif"><%=RecSet("datum")%></font></td>
</tr>
<%
RecSet.MoveNext
Loop
RecSet.Close
Connect.Close
Set RecSet = nothing
Set Connect = nothing
%>
och det var själva uppspelningen.
Hur gör jag detta? tacksam för kod exempel.
------------------
Fem miljoner fluggor kan inte ha fel, ät bajs.
[Redigerat av Qimen den 24 nov 2001]
byt ut
Addera = "Select * From members ORDER BY datum"
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
mot
Addera = "Select * From members ORDER BY username"
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
/ Mikul
ja men då sortetar den väl bara ut användarnamnen, väll? jag vill ha bara dom som börjar på A.
------------------
Fem miljoner fluggor kan inte ha fel, ät bajs.
Om du skickar vilken bokstav du vill söka på i querystring så kan du använda en fråga som ser ut så här
sql = "select * from members where username like '" & request.querystring("bokstav") & "%'"
------------------
essentitia preter non sans multiplicandum
Så att jag på varje sida gör jag en databaskoppling med det typ så här:
<%
If Session("login") <> "ok" Then
Session("meddelande") = "Du har blivit urloggad, var god logga in igen!"
Response.Redirect "default.asp"
End If
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("../db/members.mdb")&";pwd=000"
Set RecSet = Server.CreateObject("ADODB.Recordset")
sql = "select * from members where username like '" & request.querystring("A") & "%'"
%>
eller är det helt fel?
------------------
Fem miljoner fluggor kan inte ha fel, ät bajs.
[Redigerat av Qimen den 24 nov 2001]
Njae, jag tänkte mer att du på söksidan lade upp det så här
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("../db/members.mdb")&";pwd=000"
sql = "select distinct left(username,1) from members order by 1"
set rs = connect.execute(sql)
response.write "Sök medlemmar"
while not rs.eof
response.write "<a href='search.asp?bokstav=" & rs(0)& ">" & rs(0) & "</a>"
rs.movenext
wend
rs.close
connect.close
Då får du en länk för varje bokstav där det finns någon medlem.
Och sedan på search.asp så använder du den kod som jag skrev i förra inlägget.
------------------
essentitia preter non sans multiplicandum
[Redigerat av LarsG den 24 nov 2001]
Oki, det med länken fatta jag men med
sql = "select * from members where username like '" & request.querystring("bokstav") & "%'"
fatta jag inte riktigt hur jag skulle göra med.
------------------
Fem miljoner fluggor kan inte ha fel, ät bajs.
Jag tänkte bara att du byter ut din select-sats
Addera = "Select * From members ORDER BY datum"
mot den jag skrev och sedan loopar du igenom resultatet på samma sätt.
------------------
essentitia preter non sans multiplicandum
Men på Search.asp sidan så får jag detta felmedelande:
ADODB.Recordset fel '800a0bb9'
Programmet använder felaktiga parametrar, som antingen ligger utanför tillåtet intervall, eller som skapar en inbördes konflikt.
/inloggad/search.asp, rad 24
------------------
Fem miljoner fluggor kan inte ha fel, ät bajs.
Då har jag gjort så här:
<%
If Session("login") <> "ok" Then
Session("meddelande") = "Du har blivit urloggad, var god logga in igen!"
Response.Redirect "../default.asp"
End If
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("../data/members.mdb")&";pwd=000"
Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "Select * From members ORDER BY username"
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
%>
Och sedan försökt loppa upp det. Var är det för fel?
------------------
Fem miljoner fluggor kan inte ha fel, ät bajs.
[Redigerat av Qimen den 24 nov 2001]
Nu vet jag inte hur koden ser ut, men du kanske glömt att inkludera adovbs.inc och använder konstanter som deklareras där?
Annars: Hur ser koden ut?
Red: jag vet tydligen hur lite av koden ser ut. ;) adovbs.inc?
Mvh,
------------------
All your base are belong to me.
[Redigerat av @nders den 24 nov 2001]
Ohh, vad dum är, glömde den, men så fick jag det att funka men den visar ju alla medlemmar ändå när man tryckt på en bokstav.
------------------
Fem miljoner fluggor kan inte ha fel, ät bajs.
Har du bytt ut SQL-frågan till den du fick av LarsG tidigare?
------------------
All your base are belong to me.
När man har valt en bokstav kommer man till Search.asp
På den sidan så har jag en databas koppling som ser ut så här
<%
If Session("login") <> "ok" Then
Session("meddelande") = "Du har blivit urloggad, var god logga in igen!"
Response.Redirect "default.asp"
End If
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("../data/members.mdb")&";pwd=000"
Set RecSet = Server.CreateObject("ADODB.Recordset")
sql = "select * from members where username like '" & request.querystring("bokstav") & "%'"
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
%>
När jag har den så det upp att Programmet använder felaktiga parametrar, som antingen ligger utanför tillåtet intervall, eller som skapar en inbördes konflikt.
------------------
Fem miljoner fluggor kan inte ha fel, ät bajs.
Oki, då gör vi så här:
Ta bort denna:
Set RecSet = Server.CreateObject("ADODB.Recordset")
Byt ut:
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
mot:
Set RecSet = Connect.Execute (Addera)
Mvh,
------------------
All your base are belong to me.
Då får jag meddelande om att det inte angivits något kommando för kommandoobjektet.
:(
<%
If Session("login") <> "ok" Then
Session("meddelande") = "Du har blivit urloggad, var god logga in igen!"
Response.Redirect "default.asp"
End If
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("../data/members.mdb")&";pwd=000"
sql = "select * from members where username like '" & request.querystring("bokstav") & "%'"
Set RecSet = Connect.Execute (Addera)
%>
------------------
Fem miljoner fluggor kan inte ha fel, ät bajs.
[Redigerat av Qimen den 24 nov 2001]
Tack så hemskt mycket alla ni som hjälpt mig.
Nu funkar det.
------------------
Fem miljoner fluggor kan inte ha fel, ät bajs.