Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di naverit
    Registrato dal
    Apr 2002
    Messaggi
    460

    paginazione da access a mysql problem

    passando da access a mysql devo aggiornare questa paginazione con "LIMIT"...
    è possibile farlo senza stravolgere questo codice?
    oppure devo rifarlo da capo?






    <%@ Language=VBScript %>
    <% response.buffer=true %>
    <% Server.ScriptTimeout = 300 %>

    <%

    'APERTURA CONNESSIONE CON IL DATABASE SENZA DSN
    Set objConn = Server.CreateObject("ADODB.Connection")


    objConn.Open "Driver={MySQL ODBC 5.1 Driver};Server=localhost;Port=3306;Database=prova; user=xxx;password=yyy;"


    %>
    <html>
    <head>
    <title></title>
    </head>
    <BODY MARGINWIDTH="0" MARGINHEIGHT="0" TOPMARGIN="0" LEFTMARGIN="0" bgcolor="white">
    <TABLE WIDTH="500" CELLPADDING="0" CELLSPACING="0" BORDER="0" align="center">
    <TR height="60" valign="middle">
    <TD align="center">
    <font face="verdana" size="3" color="red">Paginazione dei risultati di una query</font>
    </TD>
    <TR>
    <TD>
    <%
    iPageSize = 40 'NUMERO RECORD PER PAGINA

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

    strSQL = "SELECT * FROM immagini ORDER BY id ASC"
    Set objRS = Server.CreateObject("ADODB.Recordset")
    objRS.PageSize = iPageSize
    objRS.CacheSize = iPageSize
    objRS.Open strSQL, objConn, adOpenStatic, adLockReadOnly, adCmdText

    reccount = objRS.recordcount
    iPageCount = objRS.PageCount

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

    If iPageCount = 0 Then
    Response.Write "

    <table><td><font face='verdana' size='2' color='#000000'>Non sono stati trovati giocatori.</td></table></p>"
    Else
    objRS.AbsolutePage = iPageCurrent
    iRecordsShown = 0
    %>
    <table cellpadding="0" cellspacing="0" border="0" width="95%">
    <tr>
    <td bgcolor="#cccccc">
    <table cellpadding="2" cellspacing="1" border="0" width="100%">
    <tr height="22">
    <td bgcolor="#dddddd" WIDTH="6%"><font face="verdana" size="2" color="#000000">N.</font></td>
    <td bgcolor="#dddddd" WIDTH="29%"><font face="verdana" size="2" color="#000000">Giocatore</font></td>
    <td bgcolor="#dddddd" WIDTH="4%" align="center"><font face="verdana" size="2" color="#000000">Ruolo</font></td>
    <td bgcolor="#dddddd" WIDTH="11%" align="center"><font face="verdana" size="2" color="#000000">Squadra</font></td>
    </tr>
    <%
    'SI VISUALIZZA IL CONTENUTO DELLA STRINGA SQL
    'ALL'INTERNO DELLA TABELLA PRIMA DEFINITA
    cont=1
    Do While iRecordsShown < iPageSize And Not objRS.EOF
    Dim Rig, bg
    Rig = Rig + 1
    If Rig Mod 2 = 0 then
    bg = "#E4E4E4"
    Else
    bg = "#ccccff"
    End if
    Response.Write "<tr bgcolor = " & bg & "><td><font color='#000000' face='Verdana' size='1'>" & (iPageSize*iPageCurrent)-iPageSize+Cont & "</font></td>"
    Response.Write "<td><font color='#000000' face='Verdana' size='1'>" & objRS("id") & "</font></td>"
    Response.Write "<td align='center'><font color='#000000' face='Verdana' size='1'>" & objRS("id") & "</font></td>"
    Response.Write "<td align='center'><font color='#000000' face='Verdana' size='1'>" & objRS("id") & "</font></td>"
    Cont = Cont + 1
    'POSIZIONAMENTO ALLA RIGA SUCCESSIVA DEL DB
    iRecordsShown = iRecordsShown + 1
    objRS.MoveNext
    Loop
    'PULIZIA DEGLI OGGETTI ADO
    objRS.Close
    Set objRS = Nothing
    %>
    </table>
    </td>
    </tr>
    </table>
    <%End if%>



    <%If ipagecount <> 1 Then%>
    <center>
    <table>
    <tr valign="middle">
    <td width="50%" align="center" valign="middle"><font face="verdana" size="1" color="#000000">
    [
    <%if iPageCurrent-2 > 0 and iPageCurrent > 2 then%>
    [img]images/first.gif[/img]
    <%end if%>
    <%if iPageCurrent > 1 then%>
    [img]images/pre.gif[/img]
    <%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%>
    <font color="red"><%=i%></font>
    <%else%>
    <%=i%>
    <%end if%>
    <%next%>
    <%if iPageCurrent > 0 and iPageCurrent < iPageCount then%>
    [img]images/next.gif[/img]
    <%end if%>
    <%if iPageCurrent+1 < iPageCount then%>
    [img]images/last.gif[/img]
    <%end if%>
    ]

    </font></td>
    </tr>
    <tr>
    <td colspan="2" align="center"><font face="verdana" size="1" color="#000000">
    <center>
    Pagina
    <font color="#FF0000"><%=iPageCurrent%></font>
    di
    <font color="#FF0000"><%=iPageCount%></font>
    </center>
    </font></td>
    </tr>
    </table>
    </center>
    <%end if%>
    <%
    objConn.Close
    Set objConn = Nothing
    %>
    </TD>
    </TR>
    </TABLE>
    </body>
    </html>
    Ars longa...vita brevis.

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Lo devi semplificare...
    Questa query
    strSQL = "SELECT * FROM immagini ORDER BY id ASC"
    deve diventare
    strSQL = "SELECT * FROM immagini ORDER BY id ASC LIMIT inizio,fine"
    dove inizio e fine sono il valore di partenza e di fine di ogni pagina.

    Roby

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.