2 messaggi dal 27 luglio 2004
Ciao a tutti so che mi aiuterete perchè siete dei ragazzi in gamba, e per questo vi ringrazio anticipatamente!

Sto creando un sito in asp, ho una sezione dove si può fare una ricerca in un database da me creato.
Il problema è questo: faccio una ricerca, nella prima pagina viene visualizzato il risultato,(quindi è OK) nelle altre non visualizza niente.

il codice è questo:
<%
'Numero di record visualizzati per pagina
Record_Pagina = 3
'Numero di Pagine visualizzate nei link
Numerazione_Max = 10

'Creo la connessione al database
Dim adoconn
Dim ris
Set ris = Server.CreateObject("ADODB.Recordset")
Set adoconn = Server.CreateObject("ADODB.Connection")
adoconn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& server.MapPath("db2.mdb")
if (request.querystring("pag") ="") then
taglia = Request("taglia")
taglia2 = Request("taglia2")
capelli = Request("capelli")
occhi = Request("occhi")
eta = Request("eta")
eta2 = Request("eta2")
altezza = Request("altezza")
altezza2 = Request("altezza2")
sesso= Request("sesso")
else

taglia = Request.QueryString("taglia")
taglia2 = Request.QueryString("taglia2")
capelli = Request.QueryString("capelli")
occhi= Request.QueryString("occhi")
eta = Request.QueryString("eta")
eta2 = Request.queryString("eta2")
altezza = Request.queryString("altezza")
altezza2 = Request.queryString("altezza2")
sesso = Request.queryString("sesso")
end if
if occhi="tutte" then occhi="%"
if capelli="tutte" then capelli="%"
if sesso="tutti" then sesso="%"
'Scrivo la mia query sql
'E creo il recordset

sql="SELECT * FROM ((Dati INNER JOIN Moda ON Dati.ID = Moda.ID) INNER JOIN Preferenze ON Moda.ID = Preferenze.ID) INNER JOIN Immagine ON Preferenze.ID = Immagine.ID WHERE (((Moda.[Altezza])>="&altezza&") AND ((Moda.[Altezza])<="&altezza2&") AND ((Moda.[Capelli]) like '%"&capelli&"%') AND ((Moda.[Occhi]) like '%"&occhi&"%') AND ((Moda.[Taglia])>="&taglia&") AND ((Moda.[Taglia])<="&taglia2&") AND ((Dati.[Eta])>="&Eta&") AND ((Dati.[Eta])<="&Eta2&") AND ((Dati.[Sesso])like '%"&sesso&"%'))"
set ris=adoconn.Execute(sql)
'E creo il recordset
Set ris = Server.CreateObject("ADODB.Recordset")
ris.PageSize = Record_Pagina
adoconn.cursorlocation = 3
ris.Open sql, adoconn, 3, 2
'Recupero il numero della pagina corrente
Pag = CInt(Request.Querystring("pag"))
'Controllo che il numero di pagina sia corretto
If (Not ris.Eof) Then
If Pag>ris.PageCount Then
Pag = ris.PageCount
End If
If Pag = 0 Then
Pag = 1
End If
'Setto la pagina corrente
ris.AbsolutePage = Pag
'Ora prepariamo i link alle pagine
indice_inizio = pag-(Numerazione_Max/2)
If (indice_inizio>(ris.PageCount-Numerazione_Max)) Then
indice_inizio = ris.PageCount-Numerazione_Max+1
End If
If (indice_inizio<=0) Then
indice_inizio = 1
End if
indice_fine=indice_inizio+Numerazione_Max-1
If (indice_fine>ris.PageCount) Then
indice_fine = ris.PageCount
End If
'Link alla prima pagina
Link = "<a href='?pag=1"& (indice_fine+1) & "&taglia=" & taglia & "&taglia2=" & taglia2 & "&capelli=" & capelli & "&occhi=" & occhi & " &eta=" & eta &" &eta2=" & eta2 &" &altezza=" & altezza &" &altezza2=" & altezza2 &" &sesso=" & sesso &"'></a>"
'Link alle pagine precedenti
If (indice_inizio<>1) Then
Link=Link&"<a href='?pag="&(indice_inizio-1)& "&taglia=" & taglia & "&taglia2=" & taglia2 & "&capelli=" & capelli & "&occhi=" & occhi & " &eta=" & eta &" &eta2=" & eta2 &" &altezza=" & altezza &" &altezza2=" & altezza2 & " &sesso=" & sesso &"'></a>"
End If
For i=indice_inizio to indice_fine
'Pagina attuale
If (i=pag) then
Link = Link&"<b>" & i & "</b>"
'Link alle altre pagine
Else
Link = Link&"<a href='?pag=" & i & "&taglia=" & taglia & "&taglia2=" & taglia2 & "&capelli=" & capelli & "&occhi=" & occhi & " &eta=" & eta &" &eta2=" & eta2 &" &altezza=" & altezza &" &altezza2=" & altezza2 &" &sesso=" & sesso &"'>|"&i&"|</a>"
End If
Next
'Link alle pagine successive
If (indice_fine<ris.PageCount-1) Then
Link = Link&"<a href='?pag="&(indice_fine+1)& "&taglia=" & taglia & "&taglia2=" & taglia2 & "&capelli=" & capelli & "&occhi=" & occhi & " &eta=" & eta &" &eta2=" & eta2 &" &altezza=" & altezza &" &altezza2=" & altezza2 &" &sesso=" & sesso &"'></a>"
End If
'Link all'ultima pagina
End If
if ris.recordCount > 0 then
'I link sono pronti,ora stampiamo i record ..
i=0
%>




<%
ris.MoveNext
WEnd
record_totali = ris.recordCount
response.write("<font face='Verdana' size='2'>Con queste caretteristiche sono presenti</font>")
response.write(" ")
response.write(record_totali)
response.write(" ")
response.write("<font face='Verdana' size='2'>modelle/i</font>")
response.write("</tr></td></table>")
Response.Write("<font color='#FFFFFF' face='Verdana' size='2'> Pagine:</font>")
else
response.write("<font face='Verdana' size='2'>Non ci sono attualmente modelle con queste caratteristiche!</font>")

END IF
'e ora finalmente stampiamo i link alle altre pagine
Response.Write("<font face='Verdana' size='2'>"+Link+"</font>")
ris.Close
Set ris = Nothing
adoconn.Close
Set adoconn = Nothing
%>

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.