50 messaggi dal 28 maggio 2001
Ciao a tutti
mi sto scraniando con un problema di paginazione x una pagina asp...me la dareste una mano?
In pratica mi vede visualizzare tutti i record in cui nel campo 'provincia' ci sia la provincia scelta
precedentemente da un form. Solo che ..la prima pagina me la mostra la seconda no..cioe' cliccando
su 'Avanti' per vedere i recod sucessivi mi dice che non ci sono risultati x la ricerca quando in realta'
ce ne sono. Dove sta l'errore?
vi allego il codice che ho tentato di stringere il piu' possibile:

<%
' visualizzo tutti i record con la provincia scelta
provincia= request.form("provincia")
Dim iPageSize
'ecc....dichiaro tutte le variabili

'imposto il numero di record da visualizzare per ogni pagina
iPageSize = 3
if request.querystring("page") = " " then
iPageCurrent = 1
else
iPageCurrent = CInt(request.querystring("page"))
end if

Set Conn = Server.CreateObject("ADODB.Connection")
' ecc apro la connessione

Set rs = Server.CreateObject("ADODB.Recordset")
sql = "select * from appartamenti where provincia='"& provincia &"'"
rs.Open sql, conn,adOpenKeyset

rs.PageSize =iPageSize

rs.CacheSize =iPageSize

iPageCount = rs.PageCount

totale = rs.recordcount

if iPageCurrent > iPageCount then
iPageCurrent = iPageCount
end if

If iPageCurrent < 1 Then iPageCurrent =1

If iPageCount = 0 Then
response.redirect ("errore.asp?error=1")
else
rs.AbsolutePage = iPageCurrent

iRecordsShown = 0
do while iRecordsShown < iPagesize and not rs.eof
%>
<table width="500" border="1" cellpadding="0" cellspacing="0" bordercolor="#A3A3A3">
<!-- ecc ecc visualizzo tutti i record -->
</table>


<%
nuovastringa = Mid (miastringa, 1, 200)
response.write(nuovastringa) & "<br><br>"
iRecordsShown = iRecordsShown + 1
rs.movenext
loop
end if
%>

<p>

<div align="center"><H3>Pagina <%= IPageCurrent%> di <%= iPageCount%></H3><br>
<%
if iPageCurrent <> 1 then
%>
<a href="perlocalita.asp?page=<%= iPageCurrent -1 %>&provincia=<%=provincia%>">Indietro</a>
<% end if
if iPageCurrent < iPageCount then
%>
<a href="perlocalita.asp?page=<%= iPageCurrent + 1 %>&provincia=<%=provincia%>">Avanti </a>
<% end if %>
</div>

Ringrazio fin da ora chi potra' essermi d'aiuto.
Ciao a tutti
Mary
Ho guardato sommariamente il codice che hai scritto, secondo me un errore è qui:
provincia= request.form("provincia")
se scrivi così non ti mantiene la chiave di ricerca per le pagine successive,dovresti quindi modificarlo in:
provincia= request("provincia")

Ciao


Alberto Biancardo
25 messaggi dal 11 aprile 2001
do while iRecordsShown < iPagesize and not rs.eof

Questa riga va cambiata con

do while iRecordsShown <= iPagesize and not rs.eof
114 messaggi dal 10 aprile 2003
<a href="perlocalita.asp?page=<%= iPageCurrent + 1 %>&provincia=<%=provincia%>">Avanti </a>
<% end if %>

qui la provincia la passi??

se passi un valore dal H REF per riprenderlo devi fare

provincia=request.Querystring("Provincia")

pero se prima vieni da un bottone e giusto solo la prima volta fare il request.form("provincia")
Modificato da Giacomino599 il 15 aprile 2003 10.45 -

"Essere SAGGI aiuta, nella vita.
Ma io sono fatto a modo mio
non c'è un c***o da fare."
Vasco
per Giacomino599 :
non c'e' bisogno, basta questo
provincia= request("provincia")

Ciao

Alberto Biancardo
114 messaggi dal 10 aprile 2003
la precisione non e mai troppa....!!!!!!!!!!

ciao

"Essere SAGGI aiuta, nella vita.
Ma io sono fatto a modo mio
non c'è un c***o da fare."
Vasco
25 messaggi dal 11 aprile 2001
Ho capito tutto all'inizio devi aggiungere 2 stringhe

<%
' visualizzo tutti i record con la provincia scelta
if session("Provincia")="" then
provincia=request.form("provincia")
session("Provincia")=provincia
else
provincia=session("Provincia")
end if

...
E' sconsigliabile fare la paginazione con le sessioni per piu' di un motivo.
Come ho gia' scritto precedentemente basta solo e semplicemente portarsi la chiave di ricerca nella barra degli indirizzi come querystring, e cioè da così:
provincia= request.form("provincia")
a così:
provincia= request("provincia")

Ciao




Alberto Biancardo

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.