dividere il risultato di una Query in più pagine

akainu

Nuovo Utente
8 Mar 2013
1
0
0
Ciao a tutti, sto provando a creare una semplice galleria immagini in asp utilizzando un database access.
In pratica ogni qualvolta carico un immagine sul server tramite l'uso del FileSystemObject salvo sul database il percorso dell'immagine; quindi per visualizzare poi le varie immagini apro una connessione al database caricando la tabella in cui sono salvati i percorsi delle immagini e usando poi response.write stampo il codice html con il percorso delle immagini e fin qui tutto funziona. Il problema sta nel fatto che se nel database ci sono tre record con i percorsi di tre immagini differenti, la pagina di visualizzazione mi stampa il numero giusto di record (in questo caso 3) ma sempre lo stesso record, che è sempre quello con id più basso e per questo invece di visualizzare tre immagine diverse visualizza la stessa immagine per tre volte.
Questo è il codice nella pagina di visualizzazione:
<%
'Creo la connessione al database
Dim Conn
Set Conn = Server.CreateObject ("ADODB.Connection")
Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&_
server.MapPath("img.mdb")

'Rilevo la pagina da visualizzare dalla stringa dell'URL
pag = TRIM(Request.QueryString("pag"))
If pag="" Then
pag = 1
Else
pag = CInt(pag)
End If

'Creo la stringa sql
Dim sql
sql = "SELECT * FROM immagini"
Dim rs
Set rs = Server.CreateObject ("ADODB.Recordset")

'Setto il numero di record per pagina
rs.PageSize = 5
rs.Open sql, conn, 1, 3
rs.AbsolutePage = pag

'Ora stampo le immagini su schermo
' rs("img") è la colonna dove sono salvati i percorsi delle immagini
img = rs("img")
For i=1 to rs.PageSize
Response.Write( "<a href=' " & img &" ' target='_blank'><img src=' "& img &" ' width='200' height='200'/></a>" & "<br><br>" )
rs.MoveNext
If rs.EOF Then Exit For
Next

'Preparo i link per le altre pagine della lista
If ( pag > 1) Then
Response.Write("<a href=""list.asp?pag=" &pag-1& """>Pagina precedente</a>")
End If
If ( pag < rs.PageCount ) Then
Response.Write( "<a href=""list.asp?pag=" &pag+1& """>Pagina successiva</a>")
End If
%>

Dove sbaglio?
Grazie in anticipo :)
 

Vale2

Utente Attivo
28 Mag 2006
446
0
0
Livorno
Ciao,


manca roba


prova questo:


Codice:
<%
Dim strDB
strDB = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("img.mdb")
%><%
' ADO Constants - Non Modificare
Const adOpenForwardOnly = 0
Const adLockReadOnly = 1
Const adCmdText = &H0001
Const adUseClient = 3

Dim currentPage
	If Len(Request.QueryString("pag")) = 0 Then
        pag = 1
    Else
        pag = CInt(Request.QueryString("pag"))
    End If

Dim recordsToShow
	recordsToShow = 5
	

Dim con
	Set con = CreateObject("ADODB.Connection")
	con.Open strDB
	

Dim SqlVar


SqlVar = "SELECT * FROM immagini Where ID Like '%'"

Dim rs
	Set rs = CreateObject("ADODB.Recordset")
	rs.CursorLocation = adUseClient
	rs.PageSize = recordsToShow
	rs.CacheSize = recordsToShow
	rs.Open SqlVar, strDB, 3, 3
	

If Not rs.EOF Then

' se nella barra  viene scritto un numero = 0 minore di 0 rimando alla index
If pag <= 0 Then
response.redirect ("index.asp")
end if

Dim totalpages
	totalpages = rs.PageCount
	rs.AbsolutePage = pag

' se nella barra  viene scritto un numero maggiore dei record totali rimando alla index
If pag > totalpages Then
response.redirect ("index.asp")
end if
	
%> 
<%
' mostra Pagina 1 di record totali e la pagina corrente
Response.write "<font face=Arial size=2>"
Response.Write "Pagina " & pag & " di " & totalPages & "<br>"
Response.Write "Immagini: " & rs.RecordCount & "<br><br>"
response.Write " </font>"
%>
 
<%	
Dim rcount, i, x
For i = 1 To rs.PageSize
rcount = i
If pag > 1 Then
For x = 1 To (pag - 1)
rcount = rcount
Next
End If
%>
<% 
If Not rs.EOF Then 
%>
                                      
<a href="<%=rs("foto")%>" target="_blank"><img src="<%=rs("foto")%>" width="200" height="200" /></a> <br><br>                             


<% 
rs.MoveNext
End If
Next
	
' paginazione - Prossima +1 indietro -1  
If pag > 1 Then 
Response.Write "<a href=""index.asp?pag=" & pag - 1 & """>Indietro</a>"
End If
Response.Write"&nbsp;&nbsp;&nbsp;"
If CInt(pag) <> CInt(totalPages) Then
Response.Write "<a href=""index.asp?pag=" & pag + 1 & """>Prossima</a>"
End If   
End If
%><br><br>
<%
' mostra in numeri le pagine e disattiva il link su quella corrente  
For pag2 = 1 to rs.PageCount
if pag2 = pag  then
response.write "<font face=""Verdana"" size=""-2"">[ <b>" & pag & "</b> ]</font>"
else
Response.Write "<font face=""Verdana"" size=""-2"">[</font> <a href='index.asp?pag=" & pag2 & "'>"
Response.Write pag2
Response.Write "</a> <font face=""Verdana"" size=""-2"">]</font>"

end if
Next
%> 
<%    
con.Close
Set con = Nothing
Set rs = Nothing
%>


l'esempio è fatto per una pagina chiamata index.asp, cambia tutti i riferimenti.


Valeria.
 
Discussioni simili
Autore Titolo Forum Risposte Data
metalgemini dividere in piu colonne il risultato di una query Classic ASP 4
T Dividere un'immagine in 3 parti orizzontali e salvarle separatamente Photoshop 2
camilia Come posso dividere le grandi dimensioni del file PST? Windows e Software 2
gandalf1959 [PHP] Dividere un campo di testo in più campi PHP 9
P [HTML] [PHP] dividere lo schermo in tre colonne HTML e CSS 110
L [WordPress] Dividere articoli in più pagine, problemi SEO? WordPress 2
M Dividere immagine a metà in diagonale Photoshop 1
M Dividere risultati in colonna in base al contenuto PHP 9
alankanz dividere risultati in pagine MySqli PHP 4
Z Dividere settimane PHP 3
M Dividere su piu pagine un articolo lungo prelevato da db. jQuery 0
P Dividere lo schermo in tre colonne HTML e CSS 1
L Dividere risultati per data e pagine diverse PHP 17
G Dividere stringa ed eseguire query PHP 3
P Dividere lo schermo in tre colonne HTML e CSS 6
L Dividere classe in più parti PHP 3
S Dividere una textarea PHP 1
A Dividere array multidimensionale in altri array multidimensionali PHP 9
redevilduil dividere la gallery in pagine con php PHP 3
C Dividere un div in due colonne Javascript 2
U E' possibile dividere un' immagine o un background in celle? jQuery 0
M Dividere Stringhe per MySQL PHP 6
E e se volessi dividere le mie pagine? PHP 2
renoir09 software dividere sql su mac Database 1
haringk Dividere ciclo in più parti PHP 12
C dividere un'immagine in più parti Webdesign e Grafica 3
L Dividere campo PHP 2
S dividere un wmv con movie maker Windows e Software 0
A dividere dato 32 bit in 4 byte Programmazione 2
B dividere Home Page in 5 sezioni con CSS HTML e CSS 1
G come dividere la pagina in 2 frame??!! HTML e CSS 5
M Come si fa a dividere un documento in più colonne in dreamweaver Flash 0
D Miglior modo per estrarre le occorrenze di un elemento in un set di più file xml e quindi scrivere il risultato in una tabella Excel o magari in JSON XML 0
D assegnare risultato di una jquery ad una text Javascript 2
max1974 Lettura Risultato $.ajax Javascript 1
L [RISOLTO] Stampa a video risultato count in html PHP 13
J [PHP] Visualizzare risultato query stessa pagina PHP 3
M [MySQL] CREARE UN LINK SU UN DETERMINATO CAMPO DI UNA TABELLA RISULTATO DI UNA QUERY SQL MySQL 3
P [PHP] Aggiungere giorni e stampare risultato da data inserita in input PHP 3
L [PHP] IF con risultato query PHP 7
D [WordPress] come fare per estrarre dati da un db MySQL tramite una form e visualizzare il risultato WordPress 0
M PHP - Funzione non e scrive il risultato PHP 3
L [PHP] risultato query in percentuale PHP 1
A [Javascript] Mostrare un marker se è vicino al risultato di ricerca con google maps Javascript 3
G [PHP] inserire risultato di una query in una tabella PHP 3
G esportare in file .csv risultato di query mysql PHP 5
bubino8 Ajax con risultato si/no Ajax 16
elpirata [PHP] Arrotondare risultato di una divisione con round PHP 4
F [HTML] Browser diverso risultato diverso HTML e CSS 5
simgia [MySQL] Risultato non esatto MySQL 3

Discussioni simili