Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di Mizushi
    Registrato dal
    Aug 2005
    Messaggi
    1,125

    Ennesimo problema di paginazione con MySQL

    Ciao.

    Con la ricerca ho trovato questo tipo di paginazione ASP + MySQL:

    codice:
    Function excess(argValue)
    	if not (int(argValue) = argValue) then argValue = int(argValue)+1		
    	excess = argValue
    end Function
    
    pageSize = 10
    
    if(len(Request.QueryString("pagina"))=0)then
      currentPage = 1
    else
      currentPage = CInt(Request.QueryString("pagina"))
    end if
    
    sql_count = " SELECT * "
    sql_count = sql_count & " , COUNT(*) AS CNT "
    sql_count = sql_count & " , COUNT(TIPO) AS totale_tipo "
    sql_count = sql_count & " FROM "
    sql_count = sql_count & " tbl "
    
    sql_count = sql_count & " GROUP BY "
    sql_count = sql_count & " TIPO, DATA "
    sql_count = sql_count & " ORDER BY "
    sql_count = sql_count & " DATA ASC "
    sql_count = sql_count & " LIMIT " & (currentPage - 1) * pageSize & ", " & pageSize
    
    Set RS = Server.CreateObject("ADODB.Recordset")
    RS.Open sql_count, cn
    
    If Not RS.eof Then
    
       recordCount = RS("CNT")
       pageCount = excess(clng(recordCount) / clng(pageSize))
    
       for i = 1 to pageCount
         Response.Write("" & i & " ")
       next
    
    end if
    
    RS.Close
    Set RS = Nothing
    
    cn.Close
    Set cn = Nothing
    A me non funziona nel senso che restituisce sempre questi valori:

    PageSize = 10
    Numero records = 1
    PageCount = 1

    Mentre i numeri di records sono molti di più....

  2. #2
    Utente di HTML.it L'avatar di Mizushi
    Registrato dal
    Aug 2005
    Messaggi
    1,125
    Questo è il response.write della query sql_count:

    codice:
    SELECT *, COUNT(Tipo) AS totale_Tipo FROM tbl GROUP BY Tipo, Data ORDER BY Data ASC LIMIT 0, 7
    
    RecordCount = 225
    PageCount = 33
    PageSize = 7
    Viene restituita una paginazione da 1 a 33 pagine:

    1) Dalla pagina 1 alla pagina 10 ho 7 records x pagina;
    2) La pagina 11 ha 3 records;
    3) Dalla pagina 12 alla pagina 33 non ci sono records...

    I records totali sono 73 non 225...


  3. #3
    Utente di HTML.it L'avatar di Mizushi
    Registrato dal
    Aug 2005
    Messaggi
    1,125
    Risolto.

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.