Avatar billede spritzer Nybegynder
31. juli 2004 - 17:23 Der er 1 kommentar og
1 løsning

Paging af stor mængde tekst

rs("text") indeholder, eks. 1200 anslag.

Dette vil jeg gerne have delt udover flere sider, kan forstille mig at det skal gøres med paging, men jeg ahr ingen anelse om hvordan.

1200 anslag skulle feks deles op i tre sider, af 400 anslag i hver.

Helpe :)
Avatar billede eagleeye Praktikant
31. juli 2004 - 23:31 #1
Du kan tage et kig på svaret i dette sprøgsmål:

http://www.eksperten.dk/spm/278927
Avatar billede eagleeye Praktikant
31. juli 2004 - 23:32 #2
Et andet eks hvor man tæller antal ord der skal vises pr. side:


<%
' Paging af tekst
' Paging tekst
' Paging text

%>
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<TABLE BORDER="0" WIDTH="100%">
<TR>
  <TD>
<%
'Functions
function countWords(str)
  arr = Split(str," ")
  countWords = UBound(arr) + 1
  set arr = nothing
end function

function cutToWord(str,antal)
  arr = Split(str," ")
  tmp = ""
  for i = lbound(arr) to antal
    'Skal være tom
  next
  for i = antal to ubound(arr)
    tmp = tmp & arr(i) & " "
  next
  cutToWord = tmp
  set arr = nothing
  set tmp = nothing
end function

function cutAfterWord(str,antal)
  arr = Split(str," ")
  tmp = ""
  for i = lbound(arr) to antal-1
    tmp = tmp & arr(i) & " "
  next
  cutAfterWord = tmp
  set arr = nothing
  set tmp = nothing
end function
'End function

Set Conn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.RecordSet")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& server.mappath("../db5.mdb")

id = Request("id")
id = 2  'Kræver et ID som er den arkitek eller den post hvor den lange tekst er. Så for test er det hardcodet.
subpage = Int(Request("subpage"))
if subpage = "" then subpage = 0
'Definer antal ord pr side
maxOrdPrSide = 10

SQL = "SELECT * FROM nyhederTB WHERE ID = " & id
Set rs = Conn.Execute(SQL)

strText = rs("nyhedsTekst")
maxWords = countWords(strText)

if maxOrdPrSide < maxWords then
  strText = cutToWord(strText, maxOrdPrSide*subpage)
  if maxOrdPrSide < countWords(strText) then
    strText = cutAfterWord(strText, maxOrdPrSide)
  end if
end if

Response.Write strText

Response.Write "<br><br>"


siderIalt = Int(maxWords/maxOrdPrSide)+1
for i = 0 to siderIalt-1
  Response.Write "<a href=""?subpage=" & i &"&id="&id&""">"& i+1 & "</a>"
  Response.Write " "
next

%>
  </TD>
</TR>
</TABLE>
<%
Conn.Close
%>
</BODY>
</HTML>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester