24. august 2000 - 10:09Der er
19 kommentarer og 1 løsning
Querystring og paging
Jeg har et problem med at anvende querystring og paging. Mit problem er, at jeg har 2 querystrings, som begge skal indgå i min pagingkode. På nuværende tidspunkt, når jeg søger i min base efter hits med kombinationen af 2 søgeord (AND), får jeg fint nok, de rigtige resultater i første omgang. MEN når jeg så vil gå til side 2 i mit søgeresultat, smides kun et af mit søgeord igennem asp´en igen, og jeg får langt flere resultatsider. Hvad skal jeg skrive i pagingafsnittet, således jeg bliver ved med at se de resultater, hvor begge mine søgord indgår, selvom jeg går til en ny side?
intRecCount = intRecCount - 1 rs.MoveNext Loop Else Response.Write \"Der er ikke fundet nogle personer, der matcher din søgning\" End If rs.Close Set rs = Nothing Response.Write \"<p>Gå til side \" For intNum = 1 To intPageCount
Response.Write \"<a href=search.asp?søg=\" & strsøg & \"&page=\" & intNum & \">\" & intNum & \"</a> \" Next Response.Write \"<p>\" If Clng(intPage) > 1 Then Response.Write \"<a href=search.asp?søg=\" & strsøg & \"&page=\" & intPage - 1 & \"><<</a>\" Else Response.Write \"<<\" End If Response.Write \" \" If Clng(intPage) < Clng(intPageCount) Then Response.Write \"<a href=search.asp?søg=\" & strsøg & \"&page=\" & intPage + 1 & \">>></a>\" Else Response.Write \">>\" End If %>
Jeg har indsat dit kodeforslag men søgeresultatet ændres alligevel, når jeg går til side 2. Her vises som sagt kun resultatet af search1 og ikke af fællesmængden mellem search1 og search2?
intPage = Request(\"page\") If isNumeric(intPage) = False Or intPage < 1 Then intPage = 1 End If Set rs = Server.CreateObject(\"ADODB.RecordSet\") strSQL = \"SELECT * FROM Test WHERE\" strSQL = strSQL & \" (Efternavn LIKE \'%\" & strSearch & \"%\')\" strSQL = strSQL & \" AND (Fornavne LIKE \'%\" & strSearch1 & \"%\')\"
strDSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\"&Server.MapPath(\"Testdatabase.mdb\") rs.Open strSQL, strDSN, 1 If Not (rs.BOF Or rs.EOF) Then rs.PageSize = 5 rs.AbsolutePage = intPage intRecCount = rs.PageSize intPageCount = rs.PageCount
intRecCount = intRecCount - 1 rs.MoveNext Loop Else Response.Write \"Der er ikke fundet nogle personer, der matcher din søgning\" End If rs.Close Set rs = Nothing Response.Write \"<p>Gå til side \" For intNum = 1 To intPageCount
Response.Write \"<a href=search.asp?Search=\" & strSearch & \"&Search1=\" & strSearch1 &\"&page=\" & intNum & \">\" & intNum & \"</a> \" Next Response.Write \"<p>\" If Clng(intPage) > 1 Then Response.Write \"<a href=search.asp?Search=\" & strSearch & \"&Search1=\" & strSearch1 &\"&page=\" & intPage - 1 & \"><<</a>\" Else Response.Write \"<<\" End If Response.Write \" \" If Clng(intPage) < Clng(intPageCount) Then Response.Write \"<a href=search.asp?Search=\" & strSearch & \"&Search1=\" & strSearch1 &\"&page=\" & intPage + 1 & \">>></a>\" Else Response.Write \">>\" End If %> </body></html>
intPage = Request(\"page\") If isNumeric(intPage) = False Or intPage < 1 Then intPage = 1 End If Set rs = Server.CreateObject(\"ADODB.RecordSet\") strSQL = \"SELECT * FROM Test WHERE\" strSQL = strSQL & \" (Efternavn LIKE \'%\" & strSearch & \"%\')\" strSQL = strSQL & \" AND (Fornavne LIKE \'%\" & strSearch1 & \"%\')\"
Undskyld jeg roder!! Jeg har lige været igang med at omdøbe mine variabler. Og har selvfølgelig glemt at omdøbe dem nogle få steder. MEN mit oprindelig problem er dog stadig ikke løst - dvs. paging-problemet
response.write StrSearch1 intPage = Request(\"page\") If isNumeric(intPage) = False Or intPage < 1 Then intPage = 1 End If Set rs = Server.CreateObject(\"ADODB.RecordSet\") strSQL = \"SELECT * FROM Test WHERE\" strSQL = strSQL & \" (Efternavn LIKE \'%\" & strSearch & \"%\')\" strSQL = strSQL & \" AND (Fornavne LIKE \'%\" & strSearch1 & \"%\')\"
intRecCount = intRecCount - 1 rs.MoveNext Loop Else Response.Write \"Der er ikke fundet nogle personer, der matcher din søgning\" End If rs.Close Set rs = Nothing Response.Write \"<p>Gå til side \" For intNum = 1 To intPageCount
Response.Write \"<a href=search.asp?Search=\" & strSearch & \"&Search1=\" & strSearch1 &\"&page=\" & intNum & \">\" & intNum & \"</a> \" Next Response.Write \"<p>\" If Clng(intPage) > 1 Then Response.Write \"<a href=search.asp?Search=\" & strSearch & \"&Search1=\" & strSearch1 &\"&page=\" & intPage - 1 & \"><<</a>\" Else Response.Write \"<<\" End If Response.Write \" \" If Clng(intPage) < Clng(intPageCount) Then Response.Write \"<a href=search.asp?Search=\" & strSearch & \"&Search1=\" & strSearch1 &\"&page=\" & intPage + 1 & \">>></a>\" Else Response.Write \">>\" End If %> </body></html>
Nåja. Havde det været kroner havde jeg nok protesteret, men jeg har point nok til alle de spørgsmål jeg evt. vil stille. ;-)
/Jesper
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.