webForumDet fria alternativet

flera sidor, FAQ

ASP

10 svar · 204 visningar · startad av Mav

Medlem sedan juni 2000117 inlägg
Frågan#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
%>

------------------
//Mav

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'>"

------------------
//Mav

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å...

------------------
Kom hem till mig...

Medlem sedan juni 2000117 inlägg
#6

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

------------------
//Mav

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 & "'>"

------------------
Kom hem till mig...

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?

------------------
//Mav

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 & "'>"

------------------
Gunnar Liljas - webbutvecklare
Leon Reklambyrå AB

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.

------------------
//Mav

Medlem sedan dec. 19998 577 inlägg
#11

Inneslut länken i denna If-sats:

If Maxcount <> 1 then

End If

------------------
Kom hem till mig...

267 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)