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?
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
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) %>
Gold
ho provato ad utilizzare la tua function in questo modo:
ma incontro questi problemi: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>
- 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
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![]()
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
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>
![]()
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' rapidoma ormai aveno iniziato cosi' ed allora...
vabeh mo tieniti questo![]()
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...
..un ultimo sforzocodice:<% 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%>![]()
www.telefoninook.com
contenuti e risorse gratis per il tuo cellulare
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...