501 messaggi dal 09 giugno 2006
Contributi
Ciao.

A questo punto bisogna mettersi a debuggare un po' di codice per capire dov'è l'intoppo. Adesso sono un po' preso da altri lavori ma in giornata ti posto un po' di codice di esempio sul quale puoi confrontare il tuo.

P.S. non scusarti di nulla: il primo modo per imparare è quello di sbagliare (vale nella vita come nell'informatica).

A più tardi.

.:. Marcello Rutter .:.
501 messaggi dal 09 giugno 2006
Contributi
Ciao.

Rileggendo il tuo codice mi sono accorto di un errore (forse una svista). La parte incriminata è la seguente:

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

Nota che prima controlli la QueryString per "pag" e poi, se presente, la leggi con "page". Guardando la tua pagina on-line il parametro corretto sembra essere "page" e questa è la ragione percui la variabile page viene sempre assegnata ad 1. Direi quindi di fare un ulteriore passo avanti correggendo questo punto:

[...]
If Trim(Request.QueryString("page")) <> "" Then
[...]

Ci sarebbe da sistemare anche il ciclo di scorrimento del cursore (While/Wend) ma salvo problemi procediamo per passi.

Ciao.

.:. Marcello Rutter .:.
16 messaggi dal 27 giugno 2006
complimenti!!, il passo in avanti c'è stato in quanto da 1 a 5 và.

se vado in "successive" la 6 mi da le anagrafiche della 1



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

Alasque
501 messaggi dal 09 giugno 2006
Contributi
Ciao.

Questo accade per il modo con il quale stai gestendo precedente/successivo ossia tramite "serie" (parametro "s" della QueryString).

Devi sistemare un po' il codice. In particolare possiamo pensare a due soluzioni:

1. Nel codice della pagina ASP, dove determini la serie e subito dopo il numero della pagina, dovresti migliorare il codice. Se il parametro "page" non è presente, anziché assegnare la pagina al valore "1" dovresti assegnarlo al valore della prima pagina della serie corrente secondo la formula:

page = (serie * showPage) - (showPage -1)

Questo algoritmo va verificato per il caso opposto - precedente. Inoltre i blocchi di controllo serie/page vanno entrambi posti all'inizio della pagina ASP (dovresti già averlo fatto).

2. In alternativa, quando crei l'etichetta Successive, nell'HREF del tag <A ...> oltre ad indicare "s=..." devi anche mettere "page=..." calcolando il numero della prima pagina della serie selezionata.

Spreo di essere stato chiaro. Nella pagina on-line ti faccio notare che se clicci in sequenza: Successive, 7 e 6 la pagina 6 viene visualizzata correttamente.

Ciao.

.:. Marcello Rutter .:.
16 messaggi dal 27 giugno 2006
ho fatto il punto 1 ma senza risolvere

Alasque
501 messaggi dal 09 giugno 2006
Contributi
Ciao.

Se però non posti il codice modificato facciamo fatica a capire l'eventuale errore.

Ciao.

.:. Marcello Rutter .:.
16 messaggi dal 27 giugno 2006
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="Connections/Regioni.asp" -->
<%
Dim EasyTour
Dim EasyTour_numRows

dim page
if trim(request.querystring("page")) <> "" then
page = cint(request.querystring("page"))
else
page = (serie * showPage) - (showPage -1)
end if

showPage=5 'numero di pagine visualizzate


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 = 3 ' = adOpenStatic
EasyTour.CursorLocation = 2
EasyTour.LockType = 1
EasyTour.Open()

EasyTour.PageSize = showPage
EasyTour.AbsolutePage = page


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,piemonte,liguria,lombardia,trentino,alto adige,friuli,venezia giulia,emilia,romagna,toscana,umbria,marche,abruzzo,molise,lazio,campania,puglia,basilicata,calabria,sicilia,sardegna,san marino,agriturismo,turismo,easy,crociere,roulotte,caravan,pick-up,camper,camper service,italia,campeggi,ristoranti,hotel,residence,villaggi,bed AND breakfast,b AND b,affittacamere,mercatino">
<META NAME =description CONTENT="EasyTourItalia.com: Il Portale del Turista. Tutto quello che vi interessa sul Turismo in Italia. Potrete inoltre trovare anche altri riferimenti su dove mangiare, dove dormire... turismo easy crociere roulotte caravan pick-up camper camper service italia campeggi ristoranti hotel agriturismo resicence villaggi bed & breakfast b&b affittacamere mercatino usato">
<META NAME ="revisit-after" content="1 weeks">
<META NAME ="robots" content="index,follow">
<META HTTP-EQUIV="keywords" CONTENT="valle d'aosta,piemonte,liguria,lombardia,trentino,alto adige,friuli,venezia giulia,emilia,romagna,toscana,umbria,marche,abruzzo,molise,lazio,campania,puglia,basilicata,calabria,sicilia,sardegna,san marino,agriturismo,turismo,easy,crociere,roulotte,caravan,pick-up,camper,camper service,italia,campeggi,ristoranti,hotel,residence,villaggi,bed AND breakfast,b AND b,affittacamere,mercatino">
<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-->&nbsp;</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-->&nbsp;</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>&nbsp;</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-->&nbsp;</td>
</tr>
</table>
</body>
</html>
<%
EasyTour.Close()
Set EasyTour = Nothing
%>

Alasque
501 messaggi dal 09 giugno 2006
Contributi
Ok, qualche errorino ti è rimasto (non hai seguito proprio tutte le istruzioni):

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


' AGGIUNGI QUESTE RIGHE
showPage=5 'numero di pagine visualizzate

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("page")) <> "" then
page = cint(request.querystring("page"))
else
page = (serie * showPage) - (showPage -1)
end if


'''''COMMENTA QUESTA RIGA (ho messo più ' per evidenziarla)
'''''showPage=5 'numero di pagine visualizzate


[...]


'''' COMMENTA QUESTE RIGHE (serie viene calcolata all'inizio)
'dim serie
'serie=1
'if len(trim(request.querystring("s")))>0 then
'serie=cint(request.querystring("s"))
'end if


[...]

A questo punto dovremmo esserci. Se così fosse rileggiti bene il codice scritto cercando di fissare bene i concetti che non conosci.

Alla prossima.
Modificato da mrdev il 30 giugno 2006 14.57 -

.:. 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.