Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Mostrare numeri pagine tovate

    Salve amici,

    ho fatto un paginazione che dovrebbe mostrare 10 recod per pagina...
    In fondo ci dovrebbe essere i classici numeri di pagina, tipo google...

    diciamo che se i record sono molti tutto funziona correttamente ma se ad esempio sono solo 25, per cui le pagine dovrebbero essere solo 3, lo script mi mostra comunque 10 pagine!!!

    for i=page to page + pagesize
    Response.Write("<li id=""currentpage"">" & i & " ")
    next

    page = numero della pagina attualmente visualizzata
    pagesize = numero dei record per pagina
    Digital XP - The new expression of digital art! - http://www.mimanchitu.it

  2. #2
    Utente di HTML.it L'avatar di Lak3d
    Registrato dal
    Aug 2006
    Messaggi
    1,031
    for i=page to page+pagesize a cosa serve? così stabilisci sempre un numero di iterazioni pari a pagesize... potevi anche fare i che va da 1 a pagesize che non cambiava nulla

    Dov'è la parte di codice che va ad estrarre i giusti record dal db?

  3. #3

    allora

    Questo è il codice per la connessione ed il conteggio dei risultati:
    Codice PHP:
    <%
    server.ScriptTimeout 300 '5 minuti
    page = Cint(request.querystring("page"))
    if page = 0 then page = 1

    call dbConnect(objConn)

    '
    Totale dei record
    strSQL 
    "SELECT COUNT(*) FROM AMOR_RISTORANTI JOIN AMOR_REGIONI ON AMOR_REGIONI.ID_REG = AMOR_RISTORANTI.REGIONE LEFT JOIN AMOR_PROVINCE ON AMOR_RISTORANTI.PROVINCIA = AMOR_PROVINCE.ID_PROV  WHERE VISIBILE = '1' AND NOME LIKE '%"&Request.Form("NOME")&"%'"
    Set Recordset1 objConn.Execute(strSQL)
    tot_record Recordset1(0)
    set Recordset1 nothing
    'Record per pagina
    pageSize = 15
    '
    Primo record di ogni pagina
    inizio 
    = (page 1) * pageSize
    'Pagine complessive per effetto della paginazione
    pagine_totali = tot_record / pageSize
    '
    Arrotondamento in caso di resto della divisione precedente
    if pagine_totali CInt(pagine_totali) > 0 then
    pagine_totali 
    CInt(pagine_totali 1)
    else
    pagine_totali CInt(pagine_totali)
    end If
    'Visualizzazione dei record paginati
    strSQL = "SELECT * FROM AMOR_RISTORANTI JOIN AMOR_REGIONI ON AMOR_REGIONI.ID_REG = AMOR_RISTORANTI.REGIONE LEFT JOIN AMOR_PROVINCE ON AMOR_RISTORANTI.PROVINCIA = AMOR_PROVINCE.ID_PROV  WHERE VISIBILE = '
    1' AND NOME LIKE '%"&Request.Form("NOME")&"%' ORDER BY ID ASC LIMIT "& inizio &", "& pageSize
    Set Recordset1 = server.CreateObject("ADODB.Recordset")
    Recordset1.Open strSQL, objConn
    %> 
    mentre questo per mostrare numeri ecc:
    Codice PHP:
           <%response.write("<ul id=""pagination"">")
    'Pagine precedenti
    if page > 1 then
    Response.write("[url=""]<<[/url]")
    end if

    visualizza i link alle pagine

    for i=page to page pagesize
      Response
    .Write("<li id=""currentpage"">[url=""]" "[/url] ")
      
    next

     
    for (i=1;i<=pagine_totali;i++)
         if (
    i==page)
         
    Response.Write("<li id=""currentpage"">[url=""][b]" "[/b][/url] ")
     else
          
    Response.Write("<li id=""currentpage"">[url=""][b]" "[/b][/url] ")
    next

    'Pagine successive
    if tot_record > pageSize and pagine_totali > page then
    Response.write("[url=""]>>[/url]")
    end if
    response.write("[/list]")

    else
    Response.write ("La ricerca non ha restituito risultati! Provate con un'
    altra chiave di ricerca!<meta http-equiv=""Refresh"" content=""2;URL=/ristoranti/index.asp"" />")
    end if
    Recordset1.close
    set Recordset1 = nothing

    call dbDisconnect(objConn)
    'SUB
    'Apertura connessione database
    sub dbConnect(objConn)
    connectionstring = MM_connAdmin_STRING
    set objConn = server.createObject("
    ADODB.Connection")
    objConn.Open connectionstring
    end sub
    'Chiusura connessione database
    sub dbDisconnect(objConn)
    objConn.close
    set objConn = nothing
    end sub
    %> 
    Digital XP - The new expression of digital art! - http://www.mimanchitu.it

  4. #4

    scusa

    svcusa c'è un pezzo in più che stavo provando e che non va bene... ti riscrvio la seconda parte di codice:

    Codice PHP:

    <%response.write("<ul id=""pagination"">"
    'Pagine precedenti 
    if page > 1 then 
    Response.write("[url=""]<<[/url]") 
    end if 

    visualizza i link alle pagine 

    for i=page to page pagesize 
      Response
    .Write("<li id=""currentpage"">[url=""]" "[/url] "
      
    next 

    'Pagine successive 
    if tot_record > pageSize and pagine_totali > page then 
    Response.write("[url=""]>>[/url]") 
    end if 
    response.write("[/list]") 

    else 
    Response.write ("La ricerca non ha restituito risultati! Provate con un'
    altra chiave di ricerca!<meta http-equiv=""Refresh"" content=""2;URL=/ristoranti/index.asp"" />") 
    end if 
    Recordset1.close 
    set Recordset1 = nothing 

    call dbDisconnect(objConn) 
    'SUB 
    'Apertura connessione database 
    sub dbConnect(objConn) 
    connectionstring = MM_connAdmin_STRING 
    set objConn = server.createObject("
    ADODB.Connection") 
    objConn.Open connectionstring 
    end sub 
    'Chiusura connessione database 
    sub dbDisconnect(objConn) 
    objConn.close 
    set objConn = nothing 
    end sub 
    %> 
    Digital XP - The new expression of digital art! - http://www.mimanchitu.it

  5. #5
    codice:
    tot_record = Recordset1(0)
    set Recordset1 = nothing
    'Record per pagina
    pageSize = 15
    
    If pageSize > tot_record then
        pageSize = tot_record
    End If
    
    HTH
    Ciao
    Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

  6. #6

    mah

    mah credo che quello da cambiare sia:

    ' visualizza i link alle pagine
    for i=page to pagesize + page
    Response.Write("<li id=""currentpage"">" & i & " ")
    next

    perchè in pratica è la parte che mi mostra i numeri di pagina...e questa non va!
    Digital XP - The new expression of digital art! - http://www.mimanchitu.it

  7. #7

    Re: mah

    Originariamente inviato da iadream
    mah credo che quello da cambiare sia:

    ' visualizza i link alle pagine
    for i=page to pagesize + page
    Response.Write("<li id=""currentpage"">" & i & " ")
    next

    perchè in pratica è la parte che mi mostra i numeri di pagina...e questa non va!
    Il problema si pone quando tot_record è minore di pagesize
    Per me se aggiungi il codice che ti ho consigliato prima, quando arrivi a scrivere i numeri di pagina la variabile pagesize conterrà 15 se tot_record è maggiore di 15, mentre conterrà tot_record se è minore.
    Quindi (come penso debba fare) ti farà vedere solo la navigazione per una pagina (quella che vedi)
    ... oppure ho capito male io!

    HTH
    Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

  8. #8

    ok

    ok provo subito!
    Digital XP - The new expression of digital art! - http://www.mimanchitu.it

  9. #9

    no

    No... non va...ed oltre tutto non mi mostra più nemmeno il >> per andare avanti!

    http://www.amordivino.net/ristoranti/tutti.asp?page=34

    quel link mostra la fine della paginazione che dovrebbe bloccarsi e mostrare come ultima pagina 34... invece com puoi vedere continua a mostrarle!


    Ma tu hai qualche script per paginare in quel modo...insomma una cosa tipo google!?! Però che vada bene per MySQL
    Digital XP - The new expression of digital art! - http://www.mimanchitu.it

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 © 2026 vBulletin Solutions, Inc. All rights reserved.