flera sidor, FAQ

ASP

10 svar · 227 visningar · startad av Mav

Medlem sedan juni 2000117 inlägg
Trådstart#1

Har använt mig av det som står i FAQ om atat dela upp recordset på flera sidor. INga problem förutom att när jag klickar för att gå till nästa sida så får jag hela databasen listat, alltså inte det som jag sökte på från början. Någon?

<%
Dim visainfo
mypage = Request("whichpage")
If mypage = "" then
mypage = 1
End If
mypagesize = 10

Set fritid = Server.CreateObject("ADODB.Connection")
fritid.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=c:\Frontpage Webs\Resport\dbboende\db\adressbok.mdb"

visainfo = Request.Form("inbox")

SQL = "SELECT * FROM adressbok ORDER BY Kundnamn ASC"

If Request.Form("TypeSearch") = "Kundnamn" Then
SQL = "SELECT * FROM adressbok WHERE Kundnamn = '"& visainfo &"'"
End If

If Request.Form("TypeSearch") = "Ort" Then
SQL = "SELECT * FROM adressbok WHERE Ort = '"& visainfo &"'"
End If

If Request.Form("TypeSearch") = "Kedjanamn" Then
SQL = "SELECT * FROM adressbok WHERE Kedjanamn = '"& visainfo &"'"
End If

Set rstemp = Server.Createobject("ADODB.Recordset")
rstemp.cursorlocation = 3
rstemp.cachesize = 5
rstemp.Open SQL, fritid%>

<%If rstemp.EOF then%>

Det finns inget som matchar din sökning!
<%Else%>
<%If Not rstemp.BOF Then%>
Sökresultat
<th width="215">Namn:</th>
<th width="105">Ort:</th>
</TR>
</table>
<%
rstemp.movefirst
rstemp.pagesize = mypagesize
maxcount = Cint(rstemp.pagecount)
rstemp.absolutepage = mypage
howmanyrecs = 0
howmanyfields = rstemp.fields.count -1
Do While Not RStemp.EOF AND howmanyrecs < rstemp.pagesize
counter = counter + 1
If counter mod 2 = 0 then
color = "CCCC99"
Else
color = "CCCC66"
End If%>
<A HREF=infoboende.asp?ID=<%=rstemp("ID")%>><%=rstemp("Kundnamn")%>
<%=rstemp("Ort")%>
<%rstemp.movenext
howmanyrecs = howmanyrecs + 1
Loop
rstemp.close
Set rstemp = nothing%>
<%If maxcount <> 0 then
response.write "sida " & mypage & " av " & maxcount & "<br>" & sidor:
pad = "0"
scriptname = request.Servervariables("script_name")
for counter = 1 to maxcount
If counter >= 10 then
pad = ""
End If
ref = "<a href='" & scriptname & "?whichpage=" & counter & "&pagesize=" & mypagesize & "'>" & pad & counter & "</a> "
response.write ref & " "
if counter mod 10 = 0 then
response.write "<br>"
End If
Next
End If
End If
End If
%>
Medlem sedan mars 20001 266 inlägg
#2

Du måste skicka med dig ett värde till nästa sida, alltså typ:
typesearch=ort
Detta får du då lägga in i själva länken som skickar till nästa sida, borde vara där skon klämmer.

Andreas

Medlem sedan maj 2000269 inlägg
#3

Skulla man inte kunna lösa det där lite enklare med lite avancerad SQL istället? .

Medlem sedan juni 2000117 inlägg
#4

La in det i länken som du sa, men det fungerar fortfarande inte. Förmodligen för att jag inte gjort rätt.
Skrev så här:

"<a href='" & scriptname & "?whichpage=" & counter & "&pagesize=" & mypagesize & "&Typesearch=Ort'>"
Medlem sedan dec. 19998 577 inlägg
#5

Problemet är väl att du inte skickar med något värde i inbox... skicka med den i Querystringen också...

Medlem sedan juni 2000117 inlägg
#6

Hur gör jag det på bästa sett?

Medlem sedan dec. 19998 577 inlägg
#7

Byt ut:

visainfo = Request.Form("inbox")

Mot:

visainfo = Request("inbox")

Och:

ref = "<a href='" & scriptname & "?whichpage=" & counter & "&pagesize=" & mypagesize & "'>"

Mot:

ref = "<a href='" & scriptname & "?whichpage=" & counter & "&pagesize=" & mypagesize & "&inbox=" & visainfo & "'>"
Medlem sedan juni 2000117 inlägg
#8

Tack för hjälpen men problemet kvarstår, den listar hela databasen trots detta. Har ni några andra förslag?

Medlem sedan dec. 19996 721 inlägg
#9

En grej till...

Byt alla Request.Form("TypeSearch") till Request("TypeSearch")

och släng med den i URL:en

dvs.

ref = "<a href='" & scriptname & "?whichpage=" & counter & "&typesearch=" & Request("TypeSearch") "&pagesize=" & mypagesize & "&inbox=" & visainfo & "'>"

Medlem sedan juni 2000117 inlägg
#10

Tusen tack! Nu funkar det som det ska.
Har en annan fråga, hur ska jag göra för att sida 1 inte ska vara länkad. Eller snarare hur ska jag göra för att den sida man är på inte är länkad?
Och när det är färre än tio träffar är det ju onödigt att det står sid 1. Hur gör jag för att ta bort det?
Hoppas ni kan hjälpa mig med även detta.

Medlem sedan dec. 19998 577 inlägg
#11

Inneslut länken i denna If-sats:

If Maxcount <> 1 then

End If

261 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
115 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)