Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    problema con paginazione

    Ciao a tutti!
    ho un problema con uno script per la paginazione che ho sempre usato e che non mi ha mai dato problemi;intanto ve lo posto:

    codice:
    <table border="0" cellpadding="2" style="border-collapse: collapse" bordercolor="#111111" width="98%">
                  <tr>
                    <td width="7%" bgcolor="#99B7D7" align="center" valign="top">
                    <font face="Verdana" size="1" color="#FFFFFF">ID</font></td>
                    <td width="20%" bgcolor="#99B7D7" align="center" valign="top">
                    <a href="list-news.asp?order=tit">
                    <font face="Verdana" size="1" color="#FFFFFF">TITOLO</font></td>
                    <td width="53%" bgcolor="#99B7D7" align="center">
                    <font face="Verdana" size="1" color="#FFFFFF">TESTO</font></td>
                    <td width="12%" bgcolor="#99B7D7" align="center">
                    <a href="list-news.asp?order=data">
                    <font face="Verdana" size="1" color="#FFFFFF">DATA</font></td>
                    <td width="8%" bgcolor="#99B7D7" align="center">
                    <a href="list-news.asp?order=mant">
                    <font face="Verdana" size="1" color="#FFFFFF">MANTIENI</font></td>
                    <td width="8%" bgcolor="#99B7D7" align="center">
                    <font face="Verdana" size="1" color="#FFFFFF">MODIFICA</font></td>
                    <td width="8%" bgcolor="#99B7D7" align="center">
                    <font face="Verdana" size="1" color="#FFFFFF">ELIMINA</font></td>
                  </tr>
                  <%
                    sql = "SELECT * FROM News ORDER BY Data desc, ID desc"
                    rs.Open sql, conn, 1, 3
                    a = 0
                    do while not rs.EOF 
                      a = a + 1
                      rs.movenext
                    loop 
                    rs.close
                    
                    if a = "0" then 
                      Response.Write("Nessun dato disponibile") 
                    else
                       
                      ord = Request.Querystring("order")
                      if ord = "id" then
                        ord = "ID"
                      end if
                      if ord = "tit" then
                        ord = "Titolo" 
                      end if
                      if ord = "mant" then
                        ord = "Mantieni" 
                      end if
                      if ord = "" OR ord = "data" then
                        ord = "Data desc, id desc"
                      end if
      
                      Dim Page_Size
                      Dim Current_Page
                      Dim Page_Count
    
                      Page_Size = 20 '###------Quante per ogni pagina?--------
    
                      if Request("Page") = "" Then
                        Current_Page = 1
                      else
                        Current_Page = CInt(Request("Page"))
                      end if
    
                      rs.CursorLocation = adUseClient
                      rs.PageSize = Page_Size
                      
                      sql="SELECT * From News ORDER BY "&ord&" "  
                      rs.Open sql, conn, 1, 3
                      
                      Page_Count = rs.PageCount
    
                      if 1 > Current_Page then Current_Page = 1
                      if Current_Page > Page_Count then Current_Page = Page_Count
    
                      rs.AbsolutePage = Current_Page
    
                      do while rs.AbsolutePage = Current_Page AND not rs.EOF                   
                      id=rs("ID")
                      titolo=rs("Titolo")
                      testo=rs("Testo")
                      data=rs("Data")
                      mantieni = rs("Mantieni")
                      
                      if mantieni <> "" then
                        if mantieni = True then
                          ck = "checked"
                        else
                          ck = ""
                        end if
                      end if
                      
                      if data <> "" then
                        gg = Day(data)
                        mm = Month(data)
                        aaaa = Year(data)
                        data_c = CDate(gg & "/" & mm & "/" & aaaa)
                      end if
                    
                      i = i + 1
                      if i MOD 2 = 0 then
                        colour = ("#E7EEF5")
                      else
                        colour = ("#FFFFFF")
                      end if
                  %>
                  <tr bgcolor="<%=colour%>">
                    <td valign="top" style="border-left: 1px dotted #D3D3D3; border-right: 1px dotted #D3D3D3" align="left" width="7%">
                    <font face="Verdana" size="1"><%=id%></font>
                    </td>
                    <td width="20%" valign="top" style="border-left: 1px dotted #D3D3D3; border-right: 1px dotted #D3D3D3" align="left">
                    <font face="Verdana" size="1"><%=titolo%></font>
                    </td>
                    <td width="53%" valign="top" style="border-left: 1px dotted #D3D3D3; border-right: 1px dotted #D3D3D3" align="left">
                    <font face="Verdana" size="1"><%=testo%></font>
                    </td>
                    <td width="12%" valign="top" style="border-left: 1px dotted #D3D3D3; border-right: 1px dotted #D3D3D3" align="left">
                    <font face="Verdana" size="1"><%=data_c%></font>
                    </td>
                    <td width="8%" valign="top" style="border-left: 1px dotted #D3D3D3; border-right: 1px dotted #D3D3D3" align="left">
                    <p align="center">
                    <input type="checkbox" name="mantieni" <%=ck%> disabled value="ON">
                    </td>
                    <td width="8%" valign="top" style="border-left: 1px dotted #D3D3D3; border-right: 1px dotted #D3D3D3" align="center">
                    [img]modifica.gif[/img]</td>
                    <td width="8%" valign="top" style="border-left: 1px dotted #D3D3D3; border-right: 1px dotted #D3D3D3" align="center">
                    ', 'Sei sicuro di voler cancellare questa news?')">[img]cancella.gif[/img]</td>
                  </tr>
                  <% 
                        rs.movenext
                      loop
                      rs.close
                  %>
                </table>
                </center>
              </div>
              <font size="1" color="#84AABD" face="Verdana">
              <%
      			Response.Write "<div align=center>"
      			Response.Write "
    
    "
      			if Current_Page = 1 then
      		      Response.Write "<font color='#000000'>Inizio| "
      			end if 
      			if Current_Page >= 2 then
      			  Response.Write "<< Inizio | " & vbCrLf
      			end if 
      			if Current_Page >= Page_Count then
      			  Response.Write "<font color='#000000'>Successiva >|"
      			end if 
     			if Current_Page < Page_Count then
      			  Response.Write "Successiva >" & "|" & vbCrLf
      			end if 
      			if Current_Page <> 1 then
      			Response.Write "< Precedente  | " & vbCrLf
      			Response.Write " " & vbCrLf
      			end If 
      			if Current_Page = 1 then
      			Response.Write "<font color='#000000'>< Precedente | "
      			end if 
      			if Current_Page <> Page_Count then
      			  Response.Write "Ultima >>" & vbCrLf
      			end if 
      			if Current_Page >= Page_Count then
      			  Response.Write "Ultima"
      			end If 
      			
      			end if
      		  %>
      		  </font>
    il fatto è che, così come è il codice, non vedo nessuna riga della tabella stampata,senza errori ma non va molto bene che non mi restituisca niente.
    il problema l'ho identificato ma non riesco a risolverlo..sta tutto all'inizio del ciclo do while e precisamente se invece che ripetere il ciclo fino a quando è verificata la condizione rs.AbsolutePage = Current_Page lo faccio fin quando questa condizione NON si verifica vedo tutti i record che mi servono.qui il problema però è che li vedo tutti senza la paginazione.
    non so se sono stato molto chiaro..

    grazie a chi mi darà una mano..

  2. #2

  3. #3
    up...

  4. #4
    sigh...nessuno mi aiuta...

  5. #5
    rinuncio?

  6. #6
    il codice è lunghetto.....

  7. #7
    scusa ma
    rs.AbsolutePage = Current_Page

    do while rs.AbsolutePage = Current_Page AND not RS.EOF

    se imposti
    rs.AbsolutePage = Current_Page
    non puo' eseguire il do loop finchè
    rs.AbsolutePage = Current_Page
    già è uguale........

  8. #8
    no,esegue il do loop finchè rs.PageSize = Current_Page...e comunque anche io avevo avuto i miei dubbi su questa cosa,ma ho provato a modificarlo e il risultato è uguale...

  9. #9


    ci sono...
    per contare i record fai un loop che arriva all'ultimo record....
    prima del secondo loop metti rs.movefirst

    CMQ
    per contare i record usa rs.count o qualcosa del genere (cerca io non saprei aiutarti)


    no no aspetta rileggo!

  10. #10
    ho capito,però è strano perchè si,io in effetti utilizzo due do while,ma al primo chiudo il recordset quindi non dovrebbe già essere a EOF...però provo,potrebbe essere,visto il problema che mi da...

    rs.recordcount non lo uso perchè non funziona molto bene,più di una volta mi ha dato problemi perchè mi restituiva come valore -1 quando magari avevo 500 record...

    comunque grazie,provo e ti faccio sapere...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.