Problemi impaginazione recods con 2 colonne e numeto record per pagina
Jes82 non è online. Ultima attività: 17/07/2008 23.09.10Jes82
Inserito il: 16 luglio 2008 23.34
4 messaggi dal 14 mag 2005 Istalla Microsoft Silverlight!
Aiuto!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Ho un problema che nn riesco a risolvere.
Devo creare una pagina che mi visualizzi i record estratti
e visualizzarmeli in 2 colonne. Fin qui nessun problema....... .
Ma quando vado a cercare di visualizzare 5 record per pagina sempre in 2 colonne
nn funziona.
Lo scorrimento del numero di pagine viene visualizzato ma non i record che voglio (5), ma me li visualizza tutti e se klikko sui numeri delle pagine mi diminuisce e record visualizzati. Cmq posto il codice così capirete meglio.
Perfare aiutatemi............................


<!-- METADATA TYPE="typelib" UUID="00000206-0000-0010-8000-00AA006D2EA4" NAME="ADO Type Library" -->

<%

Dim sc, cn, rs, contatore

sc = ""
sc = sc & "driver={Microsoft Access Driver (*.mdb)};dbq="
sc = sc & Server.MapPath("prova.mdb")


Set cn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")


cn.Open sc
quanti = 5

' RECUPERO IL NUMERO DI PAGINA CORRENTE
' E CONTROLLO CHE NON SIA INFERIORE A 1
pag = Request.QueryString("pag")
If IsNumeric(pag) = False Or pag < 1 Then pag = 1
%>
<html>
<head>
<title>Paginazione a colonne sui record di un db in ASP</title>
</head>
<body>

<table border="1"><tr>
<%
' IMPOSTO A 0 IL CONTATORE
contatore = 0

' APRO IL RECORDSET
rs.Open "SELECT nome FROM prova1 ORDER BY id ASC", cn, 1
rs.PageSize = quanti
rs.AbsolutePage = pag
' ESEGUO IL CICLO
While rs.EOF = False And contatore < quanti
' IMPOSTO LA PAGINAZIONE A 3 COLONNE ED N RIGHE
' IN FUNZIONE DEL NUMERO DI RECORD PRESENTI NEL DB
If contatore = 2 Then
contatore = 0
Response.Write "</tr><tr>"
End If
%>
<td><%=rs("nome")%></td>
<%
rs.MoveNext
' INCREMENTO IL VALORE DEL CONTATORE
contatore = contatore + 1
Wend

%>
</tr></table>
<p align="center">
<%If pag > 1 Then%>
<a href="index1.asp?pag=<%=pag-1%>">Indietro</a>
<%End If%>
<%
Dim x
x = 1
For x = 1 To rs.PageCount
If CInt(pag) <> x Then
%>
[<a href="index1.asp?pag=<%=x%>"><%=x%></a>]
<%
Else
%>
[<a href="index1.asp?pag=<%=x%>"><b><%=x%></b></a>]
<%
End If
Next
%>
<%If rs.EOF = False Then%>
<a href="index1.asp?pag=<%=pag+1%>">Avanti</a>
<%End If%>
</p>

</body>
</html>
<%
' UN PO DI PULIZIA...
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
%>




Per qualsiasi soluzione vi ringrazio anticipatamente

Modificato da Jes82 il 16 luglio 2008 23.40 -
Problema risolto
Jes82 non è online. Ultima attività: 17/07/2008 23.09.10Jes82
Inserito il: 17 luglio 2008 22.23
4 messaggi dal 14 mag 2005 Istalla Microsoft Silverlight!
Ho riscritto il codice facendomi uscire un pò di fumo dal cervello, ma cmq ci sono riuscito. Xki è interessato ad una soluzione nel visualizzare record in 2 colonne con impaginazione di massiomo 6 record per pagina potete usufruirne.
Chiaramente va configurato il layout in base alle esegineze ; Questa e una prova. Ciao a tutta la comunity


<!-- METADATA TYPE="typelib" UUID="00000206-0000-0010-8000-00AA006D2EA4" NAME="ADO Type Library" -->
<%

dim col


iPageSize = 6

If Request.QueryString("page") = "" Then
iPageCurrent = 1
Else
iPageCurrent = CInt(Request.QueryString("page"))
End If
%>

<%
set objConn= Server.CreateObject("ADODB.Connection")
objConn.Open ("Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& Server.MapPath("prova.mdb"))

strSQL = "SELECT * from prova1 order by id asc"
Set objRs = Server.CreateObject("ADODB.Recordset")
objRS.PageSize = iPageSize
objRS.CacheSize = iPageSize
objRS.Open strSQL, objConn, 3, 3

reccount = objRS.recordcount
iPageCount = objRS.PageCount

If iPageCurrent > iPageCount Then iPageCurrent = iPageCount
If iPageCurrent < 1 Then iPageCurrent = 1

If iPageCount = 0 Then
Response.Write "<p><table><td><font face='verdana' size='2' color='#000000'><b>Nessun Record</b></td></table></p>"
Else
objRS.AbsolutePage = iPageCurrent
iRecordsShown = 0
%>

<table border="1" align="center">

<%
col = 1
Do While iRecordsShown < iPageSize And Not objRS.EOF
if col = 1 then
response.write "<tr>"
end if
%>
<td class="foto" valign="middle"><div align="center" class="sfondo"><%=objrs("nome")%>
Il form che ho inserito di seguito e il codice lo potete cambiare o eliminare in base ale vostre esigenze. Io con questo codice avevo bisogno di estrapolare un record dal datavase cn valore true/false
</div>
<table width="100%" border="1">
<tr>
<td><%
if objrs("vis") = true then


response.Write objrs("img")

else
response.Write("1")
end if

%></td>

<td><form action="prova.asp" method="post">
<%if objrs("vis") = true then%>
on&nbsp;<input type="radio" name="ok" value="<%=objrs("vis")%>" checked="checked"/>&nbsp;off&nbsp;<input type="radio" name="ok" value="false" />
<%else%>
on&nbsp;<input type="radio" name="ok" value="true" />&nbsp;off&nbsp;<input type="radio" name="ok" value="<%=objrs("vis")%>" checked="checked" />
<%end if%>
</form></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table>
Qui finisce la modifica essensiale per me!!!
</td>

<%
if col MOD 2 = 0 then
%>
</tr>
<%
col = 1
else
col = col + 1
end if
iRecordsShown = iRecordsShown + 1
objRS.MoveNext
Loop
objRS.Close
Set objRS = Nothing
%>

</table>
<%End if%>
<%If ipagecount <> 1 Then%>

<table align="center">
<tr valign="middle">
<td width="50%" align="center" valign="middle"><font face="verdana" size="1" color="#FFFFFF">
<b>
<%if iPageCurrent-2 > 0 and iPageCurrent > 2 then%>
&nbsp;<a href="index3.asp?page=1&id=<%=intcodice%>"><<<</a>&nbsp;
<%end if%>
<%if iPageCurrent > 1 then%>
&nbsp;<a href="index3.asp?page=<%=iPageCurrent-1%>&id=<%=intcodice%>"><</a>&nbsp;
<%end if%>
<%if iPageCount > 2 then
if iPageCurrent-2 < 1 then da_pag = 1 else da_pag = iPageCurrent-2
if iPageCurrent+2 > iPageCount then fino_a_pag = iPageCount else fino_a_pag = iPageCurrent+2
else
da_pag = 1
fino_a_pag = iPageCount
end if%>
<%for i = da_pag to fino_a_pag%>
<%if i = iPageCurrent then%>
&nbsp;<font color="red"><%=i%></font>&nbsp;
<%else%>
&nbsp;<a href="index3.asp?page=<%=i%>&id=<%=intcodice%>"><%=i%></a>&nbsp;
<%end if%>
<%next%>
<%if iPageCurrent > 0 and iPageCurrent < iPageCount then%>
&nbsp;<a href="index3.asp?page=<%=iPageCurrent+1%>&id=<%=intcodice%>">></a>&nbsp;
<%end if%>
<%if iPageCurrent+1 < iPageCount then%>
&nbsp;<a href="index3.asp?page=<%=iPageCount%>&id=<%=intcodice%>">>>></a>&nbsp;
<%end if%>
</b>
</font></td>
</tr>
<tr>
<td colspan="2" align="center"><font face="verdana" size="1" color="#FFFFFF">
Page&nbsp;
<font color="#FFFFFF"><b><%=iPageCurrent%></b></font>
&nbsp;of&nbsp;
<font color="#FFFFFF"><b><%=iPageCount%></b></font>
</font></td>
</tr>
</table>
<%end if%>
<%
objConn.Close
Set objConn = Nothing

%>


Modificato da Jes82 il 17 luglio 2008 22.30 -

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


maltra - 821 pt
vladimiro - 582 pt
manuel0081 - 183 pt

Ultimi vincitori: fabrica, vladimiro, PeppeDotNet

Iscriviti anche tu e raccogli punti. Questo mese in palio VS 2008 + Windows Server 2008, ReShaper e 1 ebook!



COMMUNITY
ULTIMI MESSAGGI


IN EVIDENZA
MISC
Powered by .db Forums