Si, lo so, il tema è stato ampiamente trattato, ma non riesco a venirne fuori.
Vi posto il codice, peraltro veramente semplice e molto breve: alla procedura passo un parametro (category) e vorrei che l'interrogazione del db (Access) venisse paginata. Nel caso specifico, tre record per pagina (numXpag=3).
La prima interrogazione mi fa effettivamente vedere i primi tre record, ma quando seleziono la pagina 2, non mi fa vedere nulla (manco una riga vuota della tabella !), mentre invece dovrebbe
visualizzarmi altri due record.
In realtà il codice l'ho trovato e l'ho riadattato, ma comincio a pensare che neanche l'originale funzionava a dovere.
Vi ringrazio per l'aiuto che riuscirete a darmi.
Marco
<%
categoria=request.Form("category")
pag=request("p")
if pag="" then pag="1"
numXpag=3
dim stringa_conn
stringa_conn = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" & Server.MapPath("storeDB")
dim objconn
set objconn=server.CreateObject("adodb.connection")
objconn.open stringa_conn
%>
<html>
<head><title>Elenca Categorie Prodotti</title></head>
<%
' Elenca categorie
sql="select * from Products where product_category='"&categoria&"' ORDER BY product_name"
dim objrs
set objrs=server.CreateObject("adodb.recordset")
objrs.pagesize=numXpag
objrs.open sql, stringa_conn ,3,3
if not objrs.eof then
numpagine=objrs.pagecount
objrs.absolutepage=cint(pag)
%>
<table align="center" width="600" border="1">
<%for i=1 to numXpag %>
<tr>
<td width="200"><%response.Write objrs("product_name")%></td>
<td width="200"><%response.Write objrs("product_price")%></td>
<td width="100"><%response.Write objrs("product_category")%></td>
<td width="100">"> Dettagli </td>
</tr>
<%
objrs.movenext
if objrs.eof then exit for
next
%>
</table>
<table>
<tr>
<td>
<%
for i=1 to numpagine
%>
<%=i%>
<%
next
%>
</td>
</tr>
</table>
<%
end if
%>

Rispondi quotando