16 messaggi dal 27 giugno 2006
Cari amici,

ho un problema che non riesco a risolvere. c'è tra voi una o più anime gentili?

Passo al problema:

Con questo script la paginazione và avanti ed indietro ottimamente ma il risultato propone sempre la stessa pagina…….
---------------------------------------------------------------------
dim serie
serie=1
if len(trim(request.querystring("s")))>0 then
serie=cint(request.querystring("s"))
end if

dim page
if trim(request.querystring("pag")) <> "" then
page = cint(request.querystring("page"))
else
page = 1
end if


showPage=10 'numero di pagine visualizzate

dim lpage,tpage
lpage=((serie*showPage)-showPage)+1
tpage=serie*showPage

if page<lpage then page=lpage

if serie>1 then response.write "<a href=""?s=" & serie-1 & """> Precedenti </a>"

for i=lpage to tpage
if i=page then
response.write i
else
response.write " . <a href=""?pag=" & i & "&s=" & serie & """>" & i & "</a>"
end if
next

response.write "<a href=""?s=" & serie+1 & """>. Successive</a>"

Alasque
501 messaggi dal 09 giugno 2006
Contributi
Alasque ha scritto:
ma il risultato propone sempre la stessa pagina


Ciao.

Puoi spiegarti meglio? Cosa intendi per "risultato"?

Ciao.

.:. Marcello Rutter .:.
16 messaggi dal 27 giugno 2006
mettiamo il caso che in questo momento visualizzo la prima serie (pag. 1) di 5 risultati relativi ad una select.

da pagina 1 vado a pagina 2 riconosco lo stesso risultato che avevo alla pagina 1.

posso mandarti il link per farti verificare il tutto?

Alasque
501 messaggi dal 09 giugno 2006
Contributi
Ciao.

Certo che puoi postare il link ma più che verificare l'effetto sarebbe opportuno analizzare la causa valutando il codice.

Se non ho capito male il sistema di gestione della paginazione funziona solamente che visualizzi sempre le solite righe di dati.

A questo punto sarebbe importante verificare la parte di codice usata per estrarre i dati e visualizzarla. Se utilizzi ADO bisognerebbe verificare la modalità di apertura e posizionamento del recordset (proprietà PageCount e PageSize).

Ciao.

.:. Marcello Rutter .:.
16 messaggi dal 27 giugno 2006
ORA TI FACCIO ARRABBIARE......

Questo è il link:

http://www.easytouritalia.com/COPIA%20DI%20P_Ac_00.ASP

e quello che segue è il codice

-----------------------------------------------------------------

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="Connections/Regioni.asp" -->
<%
Dim EasyTour
Dim EasyTour_numRows

Set EasyTour = Server.CreateObject("ADODB.Recordset")
EasyTour.ActiveConnection = MM_Regioni_STRING
EasyTour.Source = "SELECT * FROM agricamping ORDER BY reg asc, pr ASC, NOME ASC"
EasyTour.CursorType = 0
EasyTour.CursorLocation = 2
EasyTour.LockType = 1
EasyTour.Open()

EasyTour_numRows = 0
Dim Repeat1__numRows
Dim Repeat1__index

Repeat1__numRows = 2
Repeat1__index = 0
EasyTour_numRows = EasyTour_numRows + Repeat1__numRows
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="keywords" content="valle d'aosta">
<META NAME =description CONTENT="EasyTourItalia.com">
<META NAME ="revisit-after" content="1 weeks">
<META NAME ="robots" content="index,follow">
<META HTTP-EQUIV="keywords" CONTENT="valle d'aosta">
<title>*** Easy Tour Italia - Il portale del Turista ***</title>

<style type="text/css">
<!--
.Stile1 {
font-size: 24px;
color: #FFFFFF;
font-weight: bold;
font-family: Arial, Helvetica, sans-serif;
}
.Stile3 {font-family: Arial, Helvetica, sans-serif}
.Stile5 {font-size: 12px; font-weight: bold; }
a:link {
color: #000099;
text-decoration: none;
}
a:visited {
color: #000099;
text-decoration: none;
}
a:hover {
color: #FF0000;
text-decoration: none;
}
a:active {
text-decoration: none;
}
.Stile9 {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
font-weight: bold;
}
.Stile16 {font-size: 12px; font-weight: bold; color: #FF0000; }
.Stile18 {
color: #000099;
font-size: 24px;
font-weight: bold;
}
.Stile21 {font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bold; color: #330099; }
.Stile22 {font-size: 24px; color: #330099; font-weight: bold; }
.Stile25 {color: #FF0000}
.Stile26 {color: #009999}
.Stile27 {color: #336600}
.Stile28 {color: #003399}
.Stile29 {color: #999999}
.Stile30 {color: #999999; font-weight: bold; }
-->
</style>

<link href="/Prova2.css" rel="stylesheet" type="text/css">
</head>

<body>
<table width="100%" height="799" border="0" cellpadding="0" cellspacing="0">
<!--DWLayoutTable-->
<tr valign="middle">
<td height="19" colspan="3"><!--DWLayoutEmptyCell--> </td>
</tr>
<tr>
<td width="15%" height="780" valign="top"><table width="118%" border="0" cellpadding="0" cellspacing="0" bordercolor="#CCFFFF">
<!--DWLayoutTable-->
<tr>
<td width="137" height="696" valign="top" bordercolor="#CCFFFF"><!--DWLayoutEmptyCell--> </td>
</tr>
</table></td>
<td width="700" valign="top"> <p align="center" class="Stile18"><span class="Stile22">Scegli a sinistra la Regione di Tuo interesse... </span></p>
<hr width="76%" class="Stile18">
<table width="95%" height="370" align="center" cellpadding="0" cellspacing="0">
<!--DWLayoutTable-->
<%
While ((Repeat1__numRows <> 0) AND (NOT EasyTour.EOF))
%>
<tr>
<td width="95%" height="368" align="center" valign="top"> <table width="80%" border="1" cellpadding="0" cellspacing="0" bordercolor="#FFFFFF" bgcolor="#CCFFCC">
<tr valign="top">
<td width="26%" valign="middle" class="Stile21"><div align="left" class="Stile27 Stile28">Azienda</div></td>
<td colspan="2" class="Stile16"><div align="left" class="Stile28"><%=(EasyTour.Fields.Item("Nome").Value)%></div></td>
</tr>
<tr valign="top">
<td valign="middle" class="Stile21"><div align="left" class="Stile27 Stile28">Indirizzo</div></td>
<td colspan="2" class="Stile16"><div align="left"><%=(EasyTour.Fields.Item("Loc").Value)%></div></td>
</tr>
<tr valign="top">
<td valign="middle" class="Stile21"><div align="left" class="Stile27 Stile28">Comune</div></td>
<td colspan="2" class="Stile16"><div align="left"><%=(EasyTour.Fields.Item("Comune").Value)%></div></td>
</tr>
<tr valign="top">
<td valign="middle" class="Stile21"><div align="left" class="Stile27 Stile28">Pr</div></td>
<td colspan="2" class="Stile16"><div align="left" class="Stile28"><%=(EasyTour.Fields.Item("Pr").Value)%></div></td>
</tr>
<tr valign="top">
<td valign="middle" class="Stile21"><div align="left" class="Stile27 Stile28">Tel.</div></td>
<td colspan="2" class="Stile16"><div align="left"><%=(EasyTour.Fields.Item("Tel").Value)%></div></td>
</tr>
<tr valign="top" class="Stile27">
<td valign="middle" class="Stile21 Stile27"><div align="left" class="Stile28">Fax</div></td>
<td colspan="2"><div align="left"><span class="Stile27"></span><span class="Stile16"><%=(EasyTour.Fields.Item("Fax").Value)%></span></div></td>
</tr>
<tr valign="top">
<td valign="middle" class="Stile21"><div align="left" class="Stile27 Stile28">Coord. Internet </div></td>
<td width="37%" class="Stile29"><div align="left" class="Stile30">
<%
if EasyTour.Fields.Item("E_Mail").Value <> "" or Not IsNull(EasyTour.Fields.Item("E_Mail").Value) then
response.write("<a href=""mailto:" & EasyTour.Fields.Item("E_Mail").Value & "?subject= Richiesta di informazioni ---> Rif. EasyTourItalia.com""><strong>E-Mail</strong></a>")
else
response.write("E-Mail")
end if
%>
</div></td>
<td width="37%" class="Stile29"><div align="left" class="Stile30">
<%
if EasyTour.Fields.Item("Web").Value <> "" or Not IsNull(EasyTour.Fields.Item("Web").Value) then
response.write ("<a href="""& EasyTour.Fields.Item("Web").Value &""" target=""_blank""><strong>Web</strong></a>")
else
response.write("Sito Web")
end if
%>
</div></td>
</tr>
<tr valign="top">
<td valign="middle" class="Stile21"><div align="left" class="Stile27 Stile28">Coord. GPS </div></td>
<td colspan="2" class="Stile16"><div align="left"><%=(EasyTour.Fields.Item("Coord").Value)%></div></td>
</tr>
<tr valign="top">
<td valign="middle" class="Stile21"><div align="left" class="Stile27 Stile28">Localizzazione</div></td>
<td colspan="2" class="Stile16"><div align="left"><%=(EasyTour.Fields.Item("Tipo").Value)%></div></td>
</tr>
<tr valign="top">
<td valign="middle" class="Stile21"><div align="left" class="Stile27 Stile28">Accesso</div></td>
<td colspan="2" class="Stile16"><div align="left"><%=(EasyTour.Fields.Item("Accesso").Value)%></div></td>
</tr>
<tr valign="top">
<td valign="middle" class="Stile21"><div align="left" class="Stile27 Stile28">N. Posti/Piazzole </div></td>
<td colspan="2" class="Stile16"><div align="left" class="Stile28"><%=(EasyTour.Fields.Item("Posti").Value)%></div></td>
</tr>
<tr valign="top">
<td valign="middle" class="Stile21"><div align="left" class="Stile27 Stile28">A Pagamento? </div></td>
<td colspan="2" class="Stile16"><div align="left"><%=(EasyTour.Fields.Item("Pag").Value)%></div></td>
</tr>
<tr valign="top">
<td colspan="3" valign="middle" class="Stile21"><div align="left" class="Stile27 Stile28">Servizi:</div></td>
</tr>
<tr valign="top">
<td valign="middle" class="Stile21"><div align="left" class="Stile27 Stile28">Carico</div></td>
<td colspan="2" class="Stile16"><div align="left"><%=(EasyTour.Fields.Item("Ca").Value)%></div></td>
</tr>
<tr valign="top">
<td valign="middle" class="Stile21"><div align="left" class="Stile27 Stile28">Scarico</div></td>
<td colspan="2" class="Stile16"><div align="left"><%=(EasyTour.Fields.Item("Sc").Value)%></div></td>
</tr>
<tr valign="top">
<td valign="middle" class="Stile21"><div align="left">Servizi Igienici </div></td>
<td colspan="2" class="Stile16"><div align="left"></div></td>
</tr>
<tr valign="top">
<td valign="middle" class="Stile21"><div align="left" class="Stile27 Stile28">Allaccio Elettrico </div></td>
<td colspan="2" class="Stile16"><div align="left"><%=(EasyTour.Fields.Item("Ele").Value)%></div></td>
</tr>
<tr valign="top">
<td valign="middle" class="Stile21"><div align="left" class="Stile27 Stile28">Accettano i Cani? </div></td>
<td colspan="2" class="Stile16"><div align="left"><%=(EasyTour.Fields.Item("Cani").Value)%></div></td>
</tr>
<tr valign="top">
<td valign="middle" class="Stile21"><div align="left" class="Stile27 Stile28">Altri Servizi </div></td>
<td colspan="2" class="Stile16"><div align="left"></div></td>
</tr>
</table>
<hr width="80%" class="Stile18">
<table width="80%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td> </td>
</tr>
</table>
</td>
</tr>
<%
Repeat1__index=Repeat1__index+1
Repeat1__numRows=Repeat1__numRows-1
EasyTour.MoveNext()
Wend
%>

</table>
<div align="center">
<p>
<%

dim serie
serie=1
if len(trim(request.querystring("s")))>0 then
serie=cint(request.querystring("s"))
end if

dim page
if trim(request.querystring("pag")) <> "" then
page = cint(request.querystring("page"))
else
page = 1
end if
%>
<%


showPage=5 'numero di pagine visualizzate

dim lpage,tpage
lpage=((serie*showPage)-showPage)+1
tpage=serie*showPage

if page<lpage then page=lpage

if serie>1 then response.write "<a href=""?s=" & serie-1 & """> Precedenti </a>"

for i=lpage to tpage
if i=page then
response.write i
else
response.write " . <a href=""?page=" & i & "&s=" & serie & """>" & i & "</a>"
end if
next
response.write "<a href=""?s=" & serie+1 & """>. Successive</a>"
%>
</p>
</div></td>
<td width="15%" valign="top"><!--DWLayoutEmptyCell--> </td>
</tr>
</table>
</body>
</html>
<%
EasyTour.Close()
Set EasyTour = Nothing
%>

Alasque
579 messaggi dal 28 gennaio 2004
chiedo scusa per l'intromissione, ma io ho provato la pagina e sembra che la paginzione funzaioni correttamente......
16 messaggi dal 27 giugno 2006
segna su un foglio le 5 anagrafiche presenti sulla pag. 1 e vai alla n. 2.....

Alasque
501 messaggi dal 09 giugno 2006
Contributi
Ciao.

E perchè arrabbiarsi per così poco: nella vita c'è di peggio! Guardando un po' il tuo codice direi che manca la gestione dell'impaginazione della pagina che puoi implementare usando alcune proprietà del recordset ADO.

Prima di tutto devi determinare il numero della pagina da visualizzare all'inizio del codice ASP. Quindi le righe:

dim page
if trim(request.querystring("pag")) <> "" then
page = cint(request.querystring("page"))
else
page = 1
end if

vanno portate all'inzio così come la riga:

showPage=5 'numero di pagine visualizzate

A questo punto devi impostare le informazioni del recordset per l'impaginazione. Subito dopo averlo aperto con EasyTour.Open() dovresti aggiungere qualche riga:

EasyTour.PageSize = showPage
EasyTour.AbsolutePage = page

Il resto del ciclo dovrebbe funzionare anche se, a dir la verità, non l'ho ancora analizzato in dettaglio e quindi non escludo che debba essere adattato. Ma proseguiamo per passi quindi prima di tutto proverei a mettere in linea queste semplici modifiche.

Noto che utilizzi un cursore di tipo adOpenForwardOnly (EasyTour.CursorType = 0). Non ricordo bene ma non sono del tutto certo che questo tipo di cursore consenta l'impaginazione. Se dovessi avere problemi sarà necessario modificare il tipo cursore. Come database utilizzi Jet Engine (.mdb)?

Ciao.

.:. Marcello Rutter .:.

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.