Avatar billede haakonhoyland Nybegynder
08. april 2001 - 23:55 Der er 7 kommentarer og
1 løsning

Search script functions ??

Hi,

I got a search script in ASP, that search the content of a database. But the problem is that it displayes all search results on one page. I want only 10 search results per page.. 

Could anyone help me, change the script ?


Håkon
Avatar billede netsrac Praktikant
08. april 2001 - 23:57 #1
I have a couple of minuttes, sent it to eksperten@cnh.dk
Avatar billede netsrac Praktikant
08. april 2001 - 23:58 #2
BTW Access or mySQL ?
Avatar billede wermelin Nybegynder
08. april 2001 - 23:58 #3
Look at this!
http://www.activeserverpages.dk/aspdigital/kapitel2/paging.asp

It is in danish - men du er jo fra norge så mon ikke det går.. heh... :o)
Avatar billede s_raagaard Nybegynder
09. april 2001 - 00:01 #4
Here\'s everything you need for that:

http://www.asp101.com/samples/db_paging.asp

Example and sourcecode, and you can download the source inclusive the database, and modify it for your needs.....

/søren rågård
Avatar billede netsrac Praktikant
09. april 2001 - 00:07 #5
This should do it:

<%@ Language=VBScript %>

<%
intPage = Request(\"page\")
If isNumeric(intPage) = False Or intPage < 1 Then
intPage = 1
End If

search = Request.Form(\"search\")

set Conn = Server.CreateObject(\"ADODB.Connection\")
Set rs = Server.CreateObject(\"ADODB.RecordSet\")

strSQL = \"SELECT * FROM News WHERE Title LIKE \'%\" & search & \"%\' OR News LIKE \'%\" & search & \"%\' ORDER BY Dated DESC\"
strDSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\"&Server.MapPath(\"news.mdb\")
rs.Open strSQL, strDSN, 1
If Not (rs.BOF Or rs.EOF) Then
rs.PageSize = 10
rs.AbsolutePage = intPage
intRecCount = rs.PageSize
intPageCount = rs.PageCount
%>

<HTML>
<HEAD>
<title>Ontheminute.com - Nyheter</title>


<CENTER>
<table width=\"480\" aling=\"center\" border=0 cellspacing=0 cellpadding=0>
<tr><td width=\"480\">
<b><font face=\"helvetica,arial\" size=\"5\">Søk I Arkivet<br></font></b><br><br>


<%
Response.Write \"<p><b>Side \" & intPage & \" af \" & intPageCount & \"</b></p>\"

Do While Not rs.EOF And intRecCount > 0


    Response.Write(\"<a href=\'news.asp?id=\" & rs(\"ID\") & \"\' class=menu><font face=helvetica,arial size=3><b>\" & rs(\"Title\") & \"</b></font></a><br><font face=helvetica,arial size=2>\") & vbCrLf
    Response.Write(rs(\"Teaser\") & \"</font><br>\") & vbCrLf
    Response.Write(\"<br><center><hr size=1 width=480></center>\") & vbCrLf

intRecCount = intRecCount - 1

rs.MoveNext
Loop
End If

rs.Close
Set rs = Nothing

Response.Write \"<p>Gå til side \"
For intNum = 1 To intPageCount
Response.Write \"<a href=paging.asp?page=\" & intNum & \">\" & intNum & \"</a> \"
Next

Response.Write \"<p>\"
If Clng(intPage) > 1 Then
Response.Write \"<a href=paging.asp?page=\" & intPage - 1 & \">&lt;&lt;</a>\"
Else
Response.Write \"&lt;&lt;\"
End If

Response.Write \"&nbsp;\"

If Clng(intPage) < Clng(intPageCount) Then
Response.Write \"<a href=paging.asp?page=\" & intPage + 1 & \">&gt;&gt;</a> \"
Else
Response.Write \"&gt;&gt;\"
End If
%>


<br>
<center>
<form action=\'search.asp\' method=\'post\'>
<input type=\'text\' name=\'search\'><input type=\'submit\' value=\'Søk\'>
</form>
</center>

</td></tr>
</table>
</CENTER>

<!--#include virtual=\"bottomb.txt\" -->

</BODY>
</HTML>

<%
Conn.Close
set Conn = nothing
%>
Avatar billede netsrac Praktikant
09. april 2001 - 00:08 #6
Nej:

<%@ Language=VBScript %>

<%
intPage = Request(\"page\")
If isNumeric(intPage) = False Or intPage < 1 Then
intPage = 1
End If

search = Request.Form(\"search\")

Set rs = Server.CreateObject(\"ADODB.RecordSet\")

strSQL = \"SELECT * FROM News WHERE Title LIKE \'%\" & search & \"%\' OR News LIKE \'%\" & search & \"%\' ORDER BY Dated DESC\"
strDSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\"&Server.MapPath(\"news.mdb\")
rs.Open strSQL, strDSN, 1
If Not (rs.BOF Or rs.EOF) Then
rs.PageSize = 10
rs.AbsolutePage = intPage
intRecCount = rs.PageSize
intPageCount = rs.PageCount
%>

<HTML>
<HEAD>
<title>Ontheminute.com - Nyheter</title>


<CENTER>
<table width=\"480\" aling=\"center\" border=0 cellspacing=0 cellpadding=0>
<tr><td width=\"480\">
<b><font face=\"helvetica,arial\" size=\"5\">Søk I Arkivet<br></font></b><br><br>


<%
Response.Write \"<p><b>Side \" & intPage & \" af \" & intPageCount & \"</b></p>\"

Do While Not rs.EOF And intRecCount > 0


    Response.Write(\"<a href=\'news.asp?id=\" & rs(\"ID\") & \"\' class=menu><font face=helvetica,arial size=3><b>\" & rs(\"Title\") & \"</b></font></a><br><font face=helvetica,arial size=2>\") & vbCrLf
    Response.Write(rs(\"Teaser\") & \"</font><br>\") & vbCrLf
    Response.Write(\"<br><center><hr size=1 width=480></center>\") & vbCrLf

intRecCount = intRecCount - 1

rs.MoveNext
Loop
End If

rs.Close
Set rs = Nothing

Response.Write \"<p>Gå til side \"
For intNum = 1 To intPageCount
Response.Write \"<a href=paging.asp?page=\" & intNum & \">\" & intNum & \"</a> \"
Next

Response.Write \"<p>\"
If Clng(intPage) > 1 Then
Response.Write \"<a href=paging.asp?page=\" & intPage - 1 & \">&lt;&lt;</a>\"
Else
Response.Write \"&lt;&lt;\"
End If

Response.Write \"&nbsp;\"

If Clng(intPage) < Clng(intPageCount) Then
Response.Write \"<a href=paging.asp?page=\" & intPage + 1 & \">&gt;&gt;</a> \"
Else
Response.Write \"&gt;&gt;\"
End If
%>


<br>
<center>
<form action=\'search.asp\' method=\'post\'>
<input type=\'text\' name=\'search\'><input type=\'submit\' value=\'Søk\'>
</form>
</center>

</td></tr>
</table>
</CENTER>

<!--#include virtual=\"bottomb.txt\" -->

</BODY>
</HTML>
Avatar billede haakonhoyland Nybegynder
09. april 2001 - 00:15 #7
Many thanks, my good friend :-)
Avatar billede haakonhoyland Nybegynder
09. april 2001 - 00:16 #8
Maybee you could answer this to:
http://www.eksperten.dk/spm/63195
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester