Visualizzazione dei risultati da 1 a 5 su 5

Discussione: round

  1. #1

    round

    con la funzione round ho cercato di eseguire delle approsimazioni...ma evidentemente qualche cosa sbaglio.

    in una paginazione avevo pensato di ottenere il numero delle pagine seguendo questo criterio:



    codice:
    if TotRecord<RecPerPagina then
    Pagine=1
    else
    Pagine=(TotRecord/RecPerPagina)
    end if
    pagine=Round(Pagine)
    
    if TotRecord=RecPerPagina then
    Pagine=1
    else
    Pagine=TotRecord/RecPerPagina
    end if
    pagine=Round(Pagine)
    ma non va bene se supponiamo io abbia 5 record e i record per pagina sono 4 il risultato che ottengo non è 2 come dovrebbe ma 1
    come posso risolvere?
    Ci sedemmo dalla parte del torto visto che tutti gli altri posti erano occupati."
    [Bertolt Brecht]

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    codice:
    Pagine=Cint(TotRecord/RecPerPagina) + 1
    Roby

  3. #3
    c'è ancora qualcosa che non va...ecco il mio codice che includo con tre file..alla connessione-all'inizio del recordset -e alla fine del record set...dove sbaglio...

    ..connessione

    codice:
    %percorso="/mdb-database/web.mdb"%>
    
    
    <%
    
    set rs=server.CreateObject("ADODB.recordset")
    strSql="SELECT *FROM  "& tabella 
    set rs=cn.Execute(strSql)
    record=0
    do while not rs.eof
    TotRecord=record+1
    rs.movenext
    record=TotRecord
    loop
    rs.close
    cn.Close
    %>
    all'inizio del recordset
    codice:
    <%
    '********************** IMPOSTAZIONE PAGINA VISUALIZZAZIONE (dati da personalizzare) *******
    RecPerPagina = 4 '# Indicare il numero di record che si voglio visualizzare in ogni pagina
    NomPagina = nome_pagina '# Indicare la pagina dove è inserito questo script comprese le variabili da passare
    VarPagina = "falso" '# Se oltre al nome della pagina sono state inserite variabili indicare "vero" altrimenti "falso"
    '--------------------------
    If VarPagina = "vero" then 
    VarPagina = "&"
    Else 
    VarPagina = "?"
    End If
    '********************* CONTROLLO RECORD ***********************************************
    If rs.EOF = true or rs.BOF = true then
    response.write "<font face='Verdana' size='1'> "
    Response.write "Nessun record nel database"
    response.write "</font> "
    Else
    '********************* IMPOSTAZIONE NUMERO PAGINE *************************************
    
    if RecPerPagina>record then
    Pagine=1
    else
    if RecPerPagina=record then
    Pagine=1
    else
    Pagine=(TotRecord/RecPerPagina)+1
    end if
    end if
    pagine=Round(Pagine)
    
    '******************** IMPOSTAZIONE DELLA PAGINA CORRENTE *******************************
    Pagina = Request("page")
    If Pagina = "" Then Pagina = 1 End If
    
    PrimoRecord = (Pagina * RecPerPagina) - (RecPerPagina - 1)
    UltimoRecord = PrimoRecord + RecPerPagina
    
    '********************* VISUALIZZAZIONE *************************************************
    rs.Move(PrimoRecord - 1)
    For Conteggio = 1 to RecPerPagina
    If rs.Eof then
    Conteggio = RecPerPagina
    Else
    %>
    alla fine del recordset
    codice:
    <%
    rs.MoveNext
    End If
    Next
    
    Response.write "
    "
    
    '********************* INDICE PAGINE ***************************************************
    
    Indietro = Pagina - 1
    Avanti = Pagina + 1
    response.write "<font face='Verdana' size='1'>"
    '******** indietro
    If Pagina > 1 then
    Response.write "<A HREF =" & "'" & NomPagina & VarPagina & "page=" & Indietro & "'" & ">" & "Indietro" & "</a>"
    Response.write " - "
    End If
    '******** pagine
    Response.write "Pagina " & Pagina & " di " & Pagine
    '******** avanti
    If not rs.EOF then
    session("gestioneDB")=true
    Response.write " - " & "<A HREF =" & "'" & NomPagina & VarPagina & "page=" & Avanti & "'" & ">" & "Avanti" & "</a>"
    End If
    
    End If
    response.write "</font>"
    
    %>
    la paginazione funziona ma con degli errori.
    il primo errore è che il numero dei record visualizzati è sempre uno in più di quelli dichiarati dalla variabile RecordPerPagina..con il conseguente sballamento degli indici (pagina .di pagine)che vengono ,mi sembra correttamente calcolati,

    aiuto!!!
    Ci sedemmo dalla parte del torto visto che tutti gli altri posti erano occupati."
    [Bertolt Brecht]

  4. #4
    ho corretto la stringa
    codice:
    Pagine=(TotRecord/RecPerPagina)+1
    con
    codice:
    Pagine=Cint(TotRecord/RecPerPagina) + 1
    ma l'errore resta
    Ci sedemmo dalla parte del torto visto che tutti gli altri posti erano occupati."
    [Bertolt Brecht]

  5. #5
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Controlla il mio script di paginazione (tra i mei script in firma).
    E verifica lo script.

    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.