Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Testo su più pagine

  1. #1

    Testo su più pagine

    salve a tutti

    chi mi può aiutare a trovare un codice che permetta di riportare da un db dei testi molto lunghi su più pagine invece che tutto su una sola?
    www.telefoninook.com
    contenuti e risorse gratis per il tuo cellulare

  2. #2
    Utente bannato
    Registrato dal
    Nov 2002
    Messaggi
    661
    stabilisci i caratteri che devi visualizzare, ti crei una funzione e gli passi due parametri, 1 il testo preso da db (o da dove vuoi) e l'altro con il numero di pagina.


    esempio :

    codice:
    <%
    function paginazione(testo,pagina)
    intervallo=1000
    '**********paginazione tutto su una riga *******************
    paginazione=mid(testo,intervallo*pagina,intervallo*(pagina+1))
    '*********fino qui, non capisco perchè non ci vuole stare :jam: **
    end function
    testo=paginazione(rs("testoLungo"),cint(request.querystring("pag")))
    response.write(testo)
    %>

  3. #3
    Gold
    ho provato ad utilizzare la tua function in questo modo:
    codice:
    <%@ Language=VBScript %> 
    
    <% response.buffer=true %>
    <%
    
    id = Request.QueryString("id")
    sql = "SELECT  * FROM racconti WHERE id = " & ID
    Set Rs = Server.CreateObject("ADODB.Recordset")
    Rs.Open sql, Conn, 3, 3
    %>
    <html>
    <head>
    <title></title>
    </head>
    
    <body bgcolor="#FFFFFF">
    <font size="1" FACE ="arial">
    <%
    function paginazione(testo,pagina)
    intervallo=1000
    '**********paginazione tutto su una riga *******************
     paginazione=mid(testo,intervallo*pagina,intervallo*(pagina+1))
    '*********fino qui, non capisco perchè non ci vuole stare  **
    end function
    testo=paginazione(rs("descrizione"),cint(request.querystring("pagina")))
    response.write(testo)
    %>
    <%
    pagina=request("pagina")
    pag=pagina+1
    %>
    
    
    avanti
    </FONT>
    ma incontro questi problemi:
    - la prima parte del racconto non viene scritta (suppongo che parta dal 1001 carattere)
    - quando si passa da pag1 (che contiene il test dal carattere 1001 a 2001 ) a pag2 il testo non riparte dal carattere 2002 ma da 1500

    come mai?
    www.telefoninook.com
    contenuti e risorse gratis per il tuo cellulare

  4. #4
    Utente bannato
    Registrato dal
    Nov 2002
    Messaggi
    661
    codice:
    <%@ Language=VBScript %> 
    
    <% response.buffer=true %>
    <%
    
    id = Request.QueryString("id")
    sql = "SELECT  * FROM racconti WHERE id = " & ID
    Set Rs = Server.CreateObject("ADODB.Recordset")
    Rs.Open sql, Conn, 3, 3
    %>
    <html>
    <head>
    <title></title>
    </head>
    
    <body bgcolor="#FFFFFF">
    <font size="1" FACE ="arial">
    <%
    function paginazione(testo,pagina)
    intervallo=1000
    inizio=cint((intervallo*pagina)+1)
    fine=cint(intervallo*(pagina+1))
    paginazione=mid(testo,inizio,fine)
    end function
    %>
    <%
    pagina=request("pag")
    testo=paginazione(rs("descrizione"),cint(pagina))
    response.write(testo)
    pag=cint(pagina+1)
    %>
    
    
    avanti
    </FONT>


    prova adesso

  5. #5
    grazie ora in effetti il testo compare dall'inizio (da 0 a 1000° carattere) vado a pag.1 e compare un altra porzione di testo (da 1000 a 2000)
    dalla terza in poi invece riprende una porzione di testo gia presente nella pagina precedente anche se il contatore di caratteri che ho inserito x verifica si implementa di 1000 in 1000
    come mai?
    questo è il codice che mi hai dato ed poi inserito

    codice:
    <%@ Language=VBScript %> 
    
    <% response.buffer=true %>
    <%
    
    id = Request.QueryString("id")
    sql = "SELECT  * FROM racconti WHERE id = " & ID
    Set Rs = Server.CreateObject("ADODB.Recordset")
    Rs.Open sql, Conn, 3, 3
    %>
    <html>
    <head>
    <title></title>
    </head>
    
    <body bgcolor="#FFFFFF">
    <font size="2" FACE ="arial">
    <%
    function paginazione(testo,pagina)
    intervallo=1000
    inizio=cint((intervallo*pagina)+1)
    fine=cint(intervallo*(pagina+1))
    paginazione=mid(testo,inizio,fine)
    end function
    %>
    <%
    pagina=request("pag")
    testo=paginazione(rs("descrizione"),cint(pagina))
    response.write(testo)
    pag=cint(pagina+1)
    %>
    
    
    
    <%
    lunghezza = len(testo)
    %>
    <%=lunghezza%>
    
    
    
    avanti
    </FONT>
    www.telefoninook.com
    contenuti e risorse gratis per il tuo cellulare

  6. #6
    Utente bannato
    Registrato dal
    Nov 2002
    Messaggi
    661
    visto che serviva anche a me questa funzione ne ho buttato giu' una bozza, ho aggiunto anche un controllo che evita di "spezzare" la parola a metà (ripetendola alla pagina successiva).


    fammi sapere



    codice:
    <%@ Language=VBScript %> 
    <% response.buffer=true %>
    <%
    
    id = Request.QueryString("id")
    sql = "SELECT  * FROM racconti WHERE id = " & ID
    Set Rs = Server.CreateObject("ADODB.Recordset")
    Rs.Open sql, Conn, 3, 3
    %>
    <html>
    <head>
    <title></title>
    </head>
    
    <body bgcolor="#FFFFFF">
    <font size="2" FACE ="arial">
    <%
    function paginazione(testo,pagina)
    NCtesto=len(testo)
    intervallo=30
    resto=NCtesto mod intervallo
    Npag=NCtesto\intervallo
    inizio=cint((intervallo*pagina)+1)
    if cint(pagina) = cint(Npag) then
    fine=cint(resto)
    else
    fine=cint(intervallo)
    for i = fine to fine+1
    blocco=mid(testo,inizio,fine+1)
    if blocco <> " " then
    fine=fine+1
    end if
    next
    end if
    paginazione=mid(testo,inizio,fine)
    end function
    %>
    <%
    pagina=request("pag")
    testo=paginazione(rs("descrizione"),cint(pagina))
    response.write(testo)
    pag=cint(pagina+1)
    %>
    
    
    
    <%
    lunghezza = len(testo)
    %>
    <%=lunghezza%>
    
    
    
    avanti
    </FONT>



  7. #7
    Utente bannato
    Registrato dal
    Nov 2002
    Messaggi
    661
    c'era un piccolo ( ) bug



    codice:
    <%@ Language=VBScript %> 
    <% response.buffer=true %>
    <%
    
    id = Request.QueryString("id")
    sql = "SELECT  * FROM racconti WHERE id = " & ID
    Set Rs = Server.CreateObject("ADODB.Recordset")
    Rs.Open sql, Conn, 3, 3
    %>
    <html>
    <head>
    <title></title>
    </head>
    
    <body bgcolor="#FFFFFF">
    <font size="2" FACE ="arial">
    <%
    function paginazione(testo,pagina)
    NCtesto=len(testo)
    intervallo=30
    resto=NCtesto mod intervallo
    Npag=NCtesto\intervallo
    inizio=cint((intervallo*pagina)+1)
    if inizio > 1 then
    ind=inizio-1
    for i = ind to inizio
    blocco=mid(testo,inizio,1)
    blocco2=mid(testo,ind,1)
    if blocco = " " or blocco2 = " " then
    ind=ind+1
    else
    ind=ind-1
    end if
    next
    end if
    if cint(pagina) = cint(Npag) then
    fine=cint(resto)
    else
    fine=cint(intervallo)
    ind=fine+1
    for i = fine to ind
    blocco=mid(testo,fine,1)
    blocco2=mid(testo,fine-1,1)
    if blocco <> " " or blocco2 = " " then
    fine=ind
    end if
    next
    end if
    paginazione=mid(testo,inizio,fine)
    end function
    %>
    <%
    pagina=request("pag")
    testo=paginazione(rs("descrizione"),cint(pagina))
    response.write(testo)
    pag=cint(pagina+1)
    %>
    
    
    
    <%
    lunghezza = len(testo)
    %>
    <%=lunghezza%>
    
    
    
    avanti
    </FONT>

    potevo proggettarlo dall'inizio senza complicarmi la vita avrei fatto meglio e piu' rapido ma ormai aveno iniziato cosi' ed allora...

    vabeh mo tieniti questo

  8. #8
    anchio stavo effettuando delle prove e c'era qualcosa che non andava
    ma ora la suddivisione in 1000 caratteri x pag è perfetta pero la funzione che serve a non scomporre le parole sembra non fungere io nel frattempo avevo provato ad inserire questa e funge ma non sono riuscito a sostituirla a quella inserita da te...
    codice:
    <%
    pagina=request("pag")
    testo=paginazione(rs("descrizione"),cint(pagina))
    pag=cint(pagina+1)
    
    str = ""
    arr_stringa = split(testo, " ")
    if UBound(arr_stringa) > 999 then
    for xx = 0 to UBound(arr_stringa)
    str = str & arr_stringa(xx) & " "
    if xx = 1000 then
      exit for
    end if
    next
    else
    str =testo
    end if
    %>
    <%=str%>
    
    
    <%
    lunghezza = len(testo)
    %>
    <%=lunghezza%>
    ..un ultimo sforzo
    www.telefoninook.com
    contenuti e risorse gratis per il tuo cellulare

  9. #9
    Utente bannato
    Registrato dal
    Nov 2002
    Messaggi
    661
    puffetto facciamo cosi':

    fai copia e incolla il cod che ti ho postato (l'ultimo), per migliorarlo c'è sempre tempo, ma visto che quello funziona...

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.