webForumDet fria alternativet

Välja ut poster i dbn

ASP

6 svar · 501 visningar · startad av clacke

Medlem sedan feb. 2003234 inlägg
Frågan#1

Jag vill välja ut 4st poster-rs(texten) från dbn.
Jag vill sedan skriva ut en variabel som vi kan kalla (texten) på 4 olika ställen.
Där den första variabeln texten ska innehålla den första posten från dbn, nästa variabel texten ska innehålla post nr 2 i dbn osv.

Jag är inge haj på arrayer, men provade:

if not rs.eof then
rows = rs.GetRows()
end if

If IsArray(rows) Then
i = LBound(rows, 2)
While i <= UBound(rows, 2)

            texten =  rows(0, i)
            i = i + 1
       
    Wend

End If

Detta skriver ut samma text i alla variabler texten!

Medlem sedan feb. 2003234 inlägg
#2

Problem1.
Hittade hur man skriver ut arrayer här på forumet, kanon! Men får ett felmeddelande ändå?

Microsoft VBScript runtime error '800a000d'

Type mismatch
tab.asp, line 203 - dvs på <%=rows(0,3)%>

Så här gör jag:
sql = "SELECT headline,texten FROM news where userId = " & userId & "
set rs = conn.Execute (sql)

if not rs.eof then
rows = rs.GetRows()
else
rows =""
end if

och jag skriver ut det så här:

<%=rows(0,3)%>

Problem 2.
Men hur gör man om en array post är tom?
Jag får felmeddelande då.
Om jag vill kolla om posten är tom så ska den inte skriva ut något?

Provade med:
<%if not isarray(rows(1,3)) then
response.write "Text saknas"
else
response.write rows(1,3)
end if%>

Hur gör man för att kolla en array?

Medlem sedan sep. 2003448 inlägg
#3

Får du ut fyra rader från databasen då? Testa med ubound(rows,2)

if isArray(rows) then
for i = 0 to ubound(rows,2)
response.write rows(0,i)
next
else
response.write "tom"
end if
Medlem sedan feb. 2003234 inlägg
#4

Nja, vad jag menar är, om det bara finns 3st poster i dbn så får jag ett fel, kan man inte säga att om det inte finns en post så skriv ut "tom post" istället.

Eller måste det finnas 4 poster i dbn för att det ska funka?

Jag ville ju skriva tex "(om första kolumnen,rad 3) rows(0,3) inte finns-skriv "tom post".

Jag vill skriva ut poster på 4 olika ställen på sidan och om någon av dom inte finns -skriv "tom post", jag skriver ut posterna på följande sätt:
<%=rows(1,0)%>
<%=rows(1,1)%>
<%=rows(1,2)%>
<%=rows(1,3)%>
Och det behövs ju någon typ av if satts för att få till det?

Medlem sedan sep. 2003448 inlägg
#5
if ubound(rows,2) >= 3 then response.write rows(0,3) else response.write "Tom post"

Typ.

Medlem sedan feb. 2003234 inlägg
#6

Hej Melitta
Tack, det verkar funka som det ska, bra.
HL Claes

Medlem sedan sep. 2003448 inlägg
#7

Kanon.. Markera gärna tråden som löst ;)

258 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
118 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)