webForumDet fria alternativet

Räknar inte?

2 svar · 155 visningar · startad av Inferis

InferisMedlem sedan sep. 2000670 inlägg
#1

Jag använder en kod jag hittade här på forumet, men när jag använder så visas bara första posten fast på tre ställen?

set rs = Server.CreateObject("ADODB.RecordSet")
sqltext = "SELECT  TOP 3 * FROM news ORDER BY id desc"
rs.Open sqltext,myconn,3,3

while not rs.eof

Strang = rs("message")
theArr= Split(strang, " ")
maxLangd= 30
i=0
while i<= uBound(theArr)
If len(theArr(i)) > maxLangd then
j=0
while j<(len(theArr(i))/maxLangd)
splittOrd=splittOrd & mid(theArr(i),(1+j*maxLangd),maxLangd) &" "
j=j+1
wend
theArr(i)=splittOrd
End If
nyStrang=nystrang & theArr(i) &" "
i=i+1
wend
nyStrang=Replace(nyStrang,vbCrlf,"<br>")

If Len(rs("message")) > 50 Then
Response.write Left(nystrang,50) & "..."
Else
Response.write rs("message")
End If

------------------
Skriv ut den med response.write så ser du vad som är fel.

jepsOMedlem sedan mars 2001484 inlägg
#2

Jag skulle rekommendera att du placerar koden som formaterar nyheten i en funktion och sedan anropa funktionen i din while-loop. Jag är mest van vid do-loopar, så nåt sånt här:

function format_news(strang)
theArr= Split(strang, " ")
maxLangd= 30
i=0
while i<= uBound(theArr)
If len(theArr(i)) > maxLangd then
j=0
while j<(len(theArr(i))/maxLangd)
splittOrd=splittOrd & mid(theArr(i),(1+j*maxLangd),maxLangd) &" "
j=j+1
wend
theArr(i)=splittOrd
End If
nyStrang=nystrang & theArr(i) &" "
i=i+1
wend
nyStrang=Replace(nyStrang,vbCrlf,"<br>")
format_news = nyStrang
end function

do until rs.EOF
If Len(rs("message")) > 50 Then
Response.write Left(format_news(rs("message"),50) & "..."
Else
Response.write rs("message")
End If

Totalt otestad kod.

------------------
/ jeps0

InferisMedlem sedan sep. 2000670 inlägg
#3

Nja.... Nu är den testad iallafall...

Den fungerar precis som jag hade hoppats!

Fast det gick inte att använda

do until rs.EOF

Men annars så fungerade

while not rs.eof

Saknades även en parentes i

Response.write Left(format_news(rs("message")[red])[/red],50) & "..."

Skrev tillägen bara ifall nån annan får samma fel som mig och hittar det via en sökning.

Tack för hjälpen!

------------------
Skriv ut den med response.write så ser du vad som är fel.

125 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)