Avatar billede jochke Nybegynder
27. januar 2003 - 00:34 Der er 16 kommentarer og
1 løsning

Variabler bliver ikke udskrevet.

Jeg har kigget en masse spørgsmål igennem, men synes ikke jeg kan finde nogen der har lignende problem.

Jeg har defineret følgende variabler der bliver trukket ud fra en database:
--------------------------------
Do until rs.EOF
tag = rs("tag")
emne = rs("emne")
farve = rs("farve")
dato = rs("dato")
email = rs("email")
url = rs("url")

en masse kode
<B>Emne:&nbsp;<%=emne%></B>
<FONT COLOR="<%=farve%>"><%=tag%></FONT>
en masse kode

rs.movenext
loop
--------------------------------
Når jeg så prøver at udskrive dem med <%=tag%>,<%=emne%> osv er det kun nogen af dem der bliver vist. Bytter jeg om på rækkefølgen de bliver defineret er det pludselig nogle andre der virker og andre gør ikke.

Jeg får ingen fejlmeddelse med variablen er simpelthen bare tom.

Jeg har også prøvet at bruge <%=rs("tag")%> metoden de steder de nu skal udskrives. Men det hjælper heller ikke noget.

HELP!
Avatar billede dk_akj Nybegynder
27. januar 2003 - 08:01 #1
Hvad giver dette:

response.write <table width=500>

Do until rs.EOF

i = i + 1

tag = rs("tag")
emne = rs("emne")
farve = rs("farve")
dato = rs("dato")
email = rs("email")
url = rs("url")

response.write "<tr>"
response.write "<td>Loop nr " & i & "</td>"
response.write "<td>" & tag & "</td>"
response.write "<td>" & emne & "</td>"
response.write "<td>" & farve & "</td>"
response.write "<td>" & dato & "</td>"
response.write "<td>" & email & "</td>"
response.write "<td>" & url & "</td>"
response.write "</tr>"
rs.movenext
loop


'//akj
response.write "</table>"
Avatar billede slapstick Nybegynder
27. januar 2003 - 13:25 #2
det er fordi når du bare looper recordsettet igennem og sætter variabler uden at udskrive dem samtidig så overskriver du hele tiden dataen i variablen så du skal bruge dk_akj's eksempel der udskriver variablerne inde i dit loop
Avatar billede midas_dk Nybegynder
27. januar 2003 - 14:16 #3
Hvad med at undgå variablerne? Hvis du nu prøver at udskrive rs("blabla") direkte i stedet, hvad sker der så?
Avatar billede slapstick Nybegynder
27. januar 2003 - 14:17 #4
det kan man også sagtens
Avatar billede dk_akj Nybegynder
27. januar 2003 - 14:19 #5
og det har kejs også prøvet, se næstsidste linie.

//akj
Avatar billede jochke Nybegynder
27. januar 2003 - 15:52 #6
Som I kan se udskriver jeg dem jo også i hvert loop. Her er hele min kode:

<%
Set Conn = server.createobject("ADODB.Connection")
    Conn.Open "DRIVER=SQL Server;SERVER=localhost;DATABASE=jochke_dk;UID=poptalen;PWD=vq9p1usg;"

Set RS = Server.CreateObject("ADODB.Recordset")

SQL = "SELECT TOP "&session("antal")&" * FROM tagwall ORDER BY ID desc"
RS.Open SQL, Conn

Do until rs.EOF
tag = rs("tag")
emne = rs("emne")

farve = rs("farve")
dato = rs("dato")
email = rs("email")
url = rs("url")

%>

    <TABLE WIDTH="100%" BORDER="1" STYLE="text-align:left;" CELLPADDING="0" CELLSPACING="0">
<TR>
    <TD STYLE="Padding-left:14;border:#000080 1px solid;Color:#FFFFFF;" WIDTH="50%" BGCOLOR="#000080">
        <B>
<IMG SRC="TagIMG/<%=rs("funimg")%>.gif" BORDER="0" ALIGN="bottom" ALT="">&nbsp;<%= rs("nick")%></B>
    </TD>
    <TD STYLE="Padding-left:14;border:#000080 1px solid;Color:#FFFFFF;" WIDTH="50%" BGCOLOR="#000080">
<B>Dato: <%=rs("dato")%></B>
    </TD>
</TR>

<TR>
    <TD STYLE="Padding-left:14;border-left:#000080 1px solid;Color:#000000;" WIDTH="50%" BGCOLOR="#C0C0C0">
    <A HREF="mailto:<%=email%>">
        <IMG SRC="TagIMG/mail.gif" BORDER="0" ALIGN="bottom" ALT="Skriv en mail til personen">
Skriv en mail til mig
    </A>
    </TD>

    <TD STYLE="Padding-left:14;border-right:#000080 1px solid;Color:#000000;" WIDTH="50%" BGCOLOR="#C0C0C0">
    <A TARGET="_blank" HREF="http://<%=url%>"><IMG SRC="TagIMG/homepage2.gif" BORDER="0" ALIGN="bottom" ALT="">
http://<%=url%>
    </A>
    </TD>
</TR>

<TR>
    <TD STYLE="Padding-left:14;border:#000080 1px solid;" COLSPAN="2" BGCOLOR="#FFFFFF">
    <B>Emne:&nbsp;<%=emne%></B>
    </TD>
</TR>

<TR>
    <TD STYLE="Padding-left:14;border:#000080 1px solid;" COLSPAN="2" BGCOLOR="#FFFFFF">
<FONT COLOR="<%=farve%>"><%=tag%></FONT>
    </TD>
</TR>
<TR><TD>&nbsp;</TD></TR>
<%
rs.movenext
loop

RS.close
Set RS = Nothing

Conn.close
Set Conn = Nothing
%>
Avatar billede dk_akj Nybegynder
27. januar 2003 - 16:04 #7
Den her ser farlig ud:
SQL = "SELECT TOP "&session("antal")&" * FROM tagwall ORDER BY ID desc"

Prøv lige at rette midlertidigt til
SQL = "SELECT TOP 10 * FROM tagwall ORDER BY ID desc"

//akj
Avatar billede jochke Nybegynder
27. januar 2003 - 18:22 #8
dk akj -> Virker heller ikke. :(
Avatar billede jochke Nybegynder
27. januar 2003 - 20:56 #9
dk_akj --> Det første du skrev om hvad det gav giver følgende:

Der udskrives:
Loop nr, tag, emne og url.

resten bliver bliver ikke vist.
Avatar billede jochke Nybegynder
27. januar 2003 - 20:58 #10
Har lige fordoblet pointene. Hvis det virker på løsningen. :D
Avatar billede dk_akj Nybegynder
28. januar 2003 - 07:12 #11
Så må vil lige prøve dette

response.write <table width=500>

if not rs.eof then
    Do until rs.EOF

        i = i + 1

        response.write "<tr>"
        response.write "<td>Loop nr " & i & "</td>"
        response.write "<td>" & rs("tag") & "</td>"
        response.write "<td>" & rs("emne") & "</td>"
        response.write "<td>" & rs("farve") & "</td>"
        response.write "<td>" & rs("dato") & "</td>"
        response.write "<td>" & rs("email") & "</td>"
        response.write "<td>" & rs("url") & "</td>"
        response.write "</tr>"
        rs.movenext
    loop
else
    response.write "<tr><td>"
    response.write "Ingen records"
    response.write "</td></tr>"
end if

'//akj
Avatar billede jochke Nybegynder
28. januar 2003 - 08:11 #12
dk akj -> Samme resultat. Der vises: Loop nr, tag, emne og url.

Men forstår ikke hvorfor at tallene ved loop nr starter med 500001. Gjorde det forresten også med den første du sagde jeg skulle prøve.
Avatar billede dk_akj Nybegynder
28. januar 2003 - 08:17 #13
Hvordan ser din sql og conn.execute ud ??

Prøv dette.

//akj

i = 0 ' reset i, den kan evt være brugt før i scriptet.

response.write <table width=500 border=1>

if not rs.eof then
    Do until rs.EOF

        i = i + 1

        response.write "<tr>"
        response.write "<td>Loop nr " & i & "</td>"
        response.write "<td>" & rs("tag") & "</td>"
        response.write "<td>" & rs("emne") & "</td>"
        response.write "<td>" & rs("farve") & "</td>"
        response.write "<td>" & rs("dato") & "</td>"
        response.write "<td>" & rs("email") & "</td>"
        response.write "<td>" & rs("url") & "</td>"
        response.write "</tr>"
        rs.movenext
    loop
else
    response.write "<tr><td>"
    response.write "Ingen records"
    response.write "</td></tr>"
end if

'//akj
Avatar billede jochke Nybegynder
28. januar 2003 - 15:26 #14
Hmm det giver samme resultat. Bortset fra at loop nr starter med 1.

Jeg bruger dette til at åbne database. Burde ikke være nogen problemer der, for har altid brugt det på den måde.

Set Conn = server.createobject("ADODB.Connection")
    Conn.Open "DRIVER=SQL Server;SERVER=localhost;DATABASE=databasenavn;UID=brugernavn;PWD=password;"

Set RS = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT TOP "&session("antal")&" * FROM tagwall ORDER BY ID desc"
RS.Open SQL, Conn
Avatar billede jochke Nybegynder
31. januar 2003 - 14:14 #15
Avatar billede dk_akj Nybegynder
31. januar 2003 - 14:15 #16
jamen tak for hjælpen.....

//akj
Avatar billede jochke Nybegynder
31. januar 2003 - 14:17 #17
Det er bare åndsvagt at der er forskel på om man skriver:
SQL = "SELECT funimg, tag, emne, farve, dato, email, url, nick FROM tagwall"
og
SQL = "SELECT * FROM tagwall"
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