Numerazione pagine in ASP

  • Creatore Discussione Creatore Discussione Motiv
  • Data di inizio Data di inizio

Motiv

Nuovo Utente
9 Feb 2013
2
0
0
Bari
Prima di tutto un Grazie a chi contribuirà alla soluzione del mio problema.
Quanto posto in seguito, qualsiasi sia stato il mio tentativo di realizzarlo, copiarlo da internet e modificarlo, il risultato è sempre lo stesso:

Dispongo di una form di ricerca basata da 2 o più input di ricerca (index.html) e da una pagina di risultato (results.asp) con impostato 10 record per pagina.
Ed in effetti il risultato ottenuto alla prima pagina (restults.asp) risulta effettivamente essere di 10 record su es. 240 dichiarati, suddivisi in 24 pagine (240/10).
Ma, cliccando sulla successiva, ottengo che l’elenco visualizzato non risulti essere la successione degli altri 10 record (10+10) in base ai dati di ricerca inseriti ma si dei 10 record ma non più in base ai criteri di input iniziali, quindi con una dichiarazione di 380 risultati (praticamente tutti gli ID del database) e con un numero di pagine pari a 380/10 = 36.
****** Index.html *****
<form action="results.asp" method="post" name="search" onSubmit="return validateForm(this)">
<label for=”scala”></label>
<select size="1" name="scala" id="scala">
<option value=”tutti” selected>Tutti</option>
<option value="64 >1:64</option>
<option value="43">1:43</option>
</select>

<label for="marca"></label><br />
<select size="1" name="marca" id="marca" />
<option value=”tutti” selected>Tutti</option>
<option value="Fiat">Fiat</option>
<option value="AlfaRomeo">Alfa Romeo</option>
</select>
<input type="submit" name="submit" id="submit" value="Cerca">
</form>

****** results.asp *****
<%@Language=VBScript%>
<%Response.Buffer=True%>

<%
Response.Expires = 0
scala=replace(request("scala"),"'","''")
marca=replace(request.form("marca"),"'","''")

if scala="tutti" then scala="%"
if marca="tutti" then marca="%"

Set Conn = Server.CreateObject("adodb.connection")
Conn.Open = "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("/mdb-database/dbhobbyauto.mdb")
If isEmpty(Request.QueryString("pagina")) Then
Pagina = 1
Else
Pagina = CInt(Request.QueryString("pagina"))
End If

RecordXPagina = 10

Sql = "SELECT * FROM tHobby where scala like '%"&scala&"%' and marca like '"&marca&"%'"
Sql = Sql & "order by marca ASC"

Set rs = Server.CreateObject("adodb.recordset")
rs.PageSize = RecordXPagina
rs.CacheSize = RecordXPagina
rs.Open Sql, Conn, 3, 3

If rs.RecordCount = 0 Then
Response.Redirect "noesitoricerca.asp"
Else

rs.AbsolutePage = Pagina
%>


<% RC = rs.RecordCount %>
<html>
<body>

<!-- blocco ricerca sequenza -->

Record presenti: <% = rs.RecordCount %><br>
Pagina: <% = Pagina %> di <% = rs.PageCount %>

<%
RecordCorrente = 0
Do While RecordCorrente < rs.PageSize And Not rs.Eof
RecordCorrente = RecordCorrente + 1
%>
Scala:
<%
response.write(RS("scala"))
scala=rs("scala")
%>
Foto:
<img src="public/<%=rs("img1")%>" border="0" width="70" height="70">
Marca:
<%response.write(RS("marca"))
marca=rs("marca")%>
Cilindrata:
<strong><%response.write(RS("cilindrata"))
cilindrata=rs("cilindrataa")%>
Prezzo:
<%response.write(RS("prezzo"))
prezzo=rs("prezzo")%>
Più info: <%
id=rs("id")
marca=rs("marca")
%>
<a class="linkbutton" href="SchedaAuto<%=rs("marca")%>.asp?id=<%=id%>" alt="<%=id%>">Scheda Auto</a>

<%
rs.MoveNext
Loop
%>

<div align="center">
<%
' Pagina precedente
If Pagina <> 1 Then
%>
<a href="<% = Request.ServerVariables("PATH_INFO") %>?pagina=<% = Pagina -1 %>">&laquo;</a>
<%
End If
For Num = 1 To rs.PageCount
If Num = Pagina Then
%>
<span ><% = Pagina %></span>
<%
Else
%>

<a href="<% = Request.ServerVariables("PATH_INFO") %>?pagina=<% = Num %>"><% = Num %></a>

<%
End If
Next
If Pagina <> rs.PageCount Then
%>
<a href="<% = Request.ServerVariables("PATH_INFO") %>?pagina=<% = Pagina +1 %>">&raquo;</a>
<% End If
Response.Write("</div>")
End If
rs.Close
Set rs = Nothing
Conn.Close
Set Conn = Nothing
%>
<!-- fine blocco esito di ricerca sequenza -->

</body>
</html>

Di nuovo un grazie a quanti vorranno suggerirmi soluzioni.
 

Discussioni simili