Avatar billede plato Juniormester
14. april 2003 - 08:21 Der er 16 kommentarer og
1 løsning

Vil ikke hente id.

Hejsa NG.

Hvorfor pokker vil den ikke hente id med rs("id"), når den vil hente de andre variabler?
Jeg har rettet mig efter case sensitive, men den vil bare ikke.


Her kommer koden:
<%

strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.Mappath("news.mdb")
Set objConn = Server.CreateObject ("ADODB.Connection")
objConn.Open strConnect


strSQL = "SELECT TOP 7  * FROM arkiv ORDER BY id DESC"
Set rs = objConn.Execute(strSQL)

'Udskriv top 6
placering = 1


Do While not rs.eof

 
Response.Write "<div id='boxnews'><table border='0' width='435' cellspacing='0' cellpadding='0'><tr>"
Response.Write "<td width='398' colspan='2' class='headline'><font color='#FF9C00'>»</font>"
Response.Write  rs("overskrift")
Response.Write "</td></tr><tr><td width='337' class='text'><table width='100%' height='100%' cellpadding='2'><tr><td class='font'>"
Response.Write  rs("tekst")
Response.Write "</td></tr></table></td><td width='100' valign='top' class='tom'><table border='0' width='100%' cellspacing='0' cellpadding='2'>"
Response.Write "<tr><td width='100' height='100' class='pic' align='center' valign='bottom'><img border='0' src='../pics/"
Response.Write  rs("pic")
Response.Write "' width='65' height='80'><br><img src='gfx/nyhedbar.gif'></td></tr><tr><td width='100%' class='info' valign='middle'>"
Response.Write "&nbsp;&nbsp;<font color='#FF9C00'>»</font> <a href='newscom.asp?id='"
Response.Write  rs("id")
Response.Write "'>Diskuter</a><br>&nbsp;&nbsp;<font color='#FF9C00'>»</font> <a href='"
Response.Write  rs("kilde")
Response.Write "'>Kilde</a><br>&nbsp;&nbsp;<font color='#FF9C00'>»</font> <a href='"
Response.Write  rs("link")
Response.Write "'>Læs mere</a><br>&nbsp;&nbsp;<font color='#FF9C00'>Af:</font> "
Response.Write  rs("navn")
Response.Write "</td></tr></table><br></td></tr></table></div><br>"


  placering = placering + 1
  rs.MoveNext
loop

%>
Avatar billede cesil Nybegynder
14. april 2003 - 08:27 #1
strSQL = "SELECT TOP 7 overskrift,tekst,pic,id,kilde,link,navn FROM arkiv ORDER BY id DESC"
Set rs = objConn.Execute(strSQL)

Hvis ikke det virker, så prøv og ændre rækkefølgen så du henter felterne som de kommer i databasen. Altså først id osv
Avatar billede plato Juniormester
14. april 2003 - 08:36 #2
Den vil stadig ikke hente id, og jeg kan simpelthen ikke se hvad der er galt.
linket viser bare "blablabla?id=" <- og det er jo der mit id skal komme.

Det hjælpe heller ikke hvis jeg sætter dem i rækkefølge.
Avatar billede cesil Nybegynder
14. april 2003 - 08:42 #3
Prøv sådan her istedet
Response.Write "&nbsp;&nbsp;<font color='#FF9C00'>»</font> <a href='newscom.asp?id='" & rs("id") & ">Diskuter</a>"
Avatar billede plato Juniormester
14. april 2003 - 08:46 #4
Den vil stadig ikke.

Skal jeg sende det til dig, er det bedre?
Avatar billede cesil Nybegynder
14. april 2003 - 08:53 #5
Det må kunne lade sig gøre uden.

prøv lige response.write rs("id") lige efter Do While not rs.eof

Skriver den så id'erne ud til dig?
Avatar billede plato Juniormester
14. april 2003 - 09:00 #6
Jepsen.. Så skriver den id ud.
Avatar billede cesil Nybegynder
14. april 2003 - 09:12 #7
så prøv
lige efter Do While not rs.eof
id = rs("id")

Skift dernæst Response.Write rs("id") ud med response.write id
Avatar billede plato Juniormester
14. april 2003 - 09:24 #8
Ok det prøver jeg..

Men ellers har jeg denne her kode, man den kan jeg ikke få til at loop og udskrive de 6 gange.
Den henter nemlig id, og virker ellers som den skal:

<%

strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.Mappath("news.mdb")
Set objConn = Server.CreateObject ("ADODB.Connection")
objConn.Open strConnect



strSQL = "SELECT TOP 7  * FROM arkiv ORDER BY id DESC"
Set rs = objConn.Execute(strSQL)

'Udskriv top 6
placering = 1


If Not rs.EOF Then
    id = rs("id")
    overskrift = rs("overskrift")
    tekst = rs("tekst")
    navn = rs("navn")
    kilde = rs("kilde")
    link = rs("link")
    pic = rs("pic")

Else
    Response.Write "<b>Der er noget galt med id'et</b><br><br>"
End If

Do While not rs.eof

%>

<center><div id="boxnews">
<table border="0" width="435" cellspacing="0" cellpadding="0">
 
  <tr>
    <td width="398" colspan="2" class="headline"><font color="#FF9C00">»</font> <%=overskrift%></td>
  </tr>
  <tr>
    <td width="337" class="text">
      <table width="100%" height="100%" cellpadding="2">
        <tr>
          <td class="font"><%=tekst%></td>
        </tr>
      </table>
    </td>
    <td width="100" valign="top" class="tom">
      <table border="0" width="100%" cellspacing="0" cellpadding="2">
        <tr>
          <td width="100" height="100" class="pic" align="center" valign="bottom"><img border="0" src="../pics/<%=pic%>" width="65" height="80"><br><img src="gfx/nyhedbar.gif"></td>
        </tr>
        <tr>
          <td width="100%" class="info" valign="middle">
            &nbsp;&nbsp;<font color="#FF9C00">»</font> <a href="newscom.asp?id=<%=id%>">Diskuter</a>
                                                    <%
                                                    AntalKommentarer=0
                                                    if isNumeric(ID) then
                                                    Set rs=objConn.Execute("SELECT COUNT(*) FROM newscom where nyhedid=" & ID)
                                                    AntalKommentarer=rs(0).Value
                                                   
                                                    Response.Write "(<font color='#FF9C00'>" & AntalKommentarer & "</font>)"
                                                      end if
                                                    %>
                                                    <br>
        &nbsp;&nbsp;<font color="#FF9C00">»</font> <a href="<%=kilde%>" target="_new">Kilde</a><br>
            &nbsp;&nbsp;<font color="#FF9C00">»</font> <a href="<%=link%>" target="_new">Læs mere</a><br>
            &nbsp;&nbsp;<font color="#FF9C00">Af:</font> <%=navn%>       
          </td>
        </tr>
      </table><br>
    </td>
  </tr>
</table>
</div>



<%
placering = placering + 1
  rs.MoveNext
loop

%>
Avatar billede cesil Nybegynder
14. april 2003 - 09:30 #9
indsæt rs.movefirst lige inden din
Do While not rs.eof.

eller du kan skrive det her inde i dit loop


    id = rs("id")
    overskrift = rs("overskrift")
    tekst = rs("tekst")
    navn = rs("navn")
    kilde = rs("kilde")
    link = rs("link")
    pic = rs("pic")

istedet for inden dit loop
Avatar billede plato Juniormester
14. april 2003 - 09:34 #10
Den henter data som den skal nu, også id.
Her er koden som den er nu, men loop virker ikke. Den viser kun 1.

<%

strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.Mappath("news.mdb")
Set objConn = Server.CreateObject ("ADODB.Connection")
objConn.Open strConnect



strSQL = "SELECT TOP 6  * FROM arkiv ORDER BY id DESC"
Set rs = objConn.Execute(strSQL)

'Udskriv top 6
placering = 1


If Not rs.EOF Then
    id = rs("id")
    overskrift = rs("overskrift")
    tekst = rs("tekst")
    navn = rs("navn")
    kilde = rs("kilde")
    link = rs("link")
    pic = rs("pic")

Else
    Response.Write "<b>Der er noget galt med id'et</b><br><br>"
End If
rs.movefirst
Do While not rs.eof

%>



<center><div id="boxnews">
<table border="0" width="435" cellspacing="0" cellpadding="0">
 
  <tr>
    <td width="398" colspan="2" class="headline"><font color="#FF9C00">»</font> <%=overskrift%></td>
  </tr>
  <tr>
    <td width="337" class="text">
      <table width="100%" height="100%" cellpadding="2">
        <tr>
          <td class="font"><%=tekst%></td>
        </tr>
      </table>
    </td>
    <td width="100" valign="top" class="tom">
      <table border="0" width="100%" cellspacing="0" cellpadding="2">
        <tr>
          <td width="100" height="100" class="pic" align="center" valign="bottom"><img border="0" src="../pics/<%=pic%>" width="65" height="80"><br><img src="gfx/nyhedbar.gif"></td>
        </tr>
        <tr>
          <td width="100%" class="info" valign="middle">
            &nbsp;&nbsp;<font color="#FF9C00">»</font> <a href="newscom.asp?id=<%=id%>">Diskuter</a>
                                                    <%
                                                    AntalKommentarer=0
                                                    if isNumeric(ID) then
                                                    Set rs=objConn.Execute("SELECT COUNT(*) FROM newscom where nyhedid=" & ID)
                                                    AntalKommentarer=rs(0).Value
                                                   
                                                    Response.Write "(<font color='#FF9C00'>" & AntalKommentarer & "</font>)"
                                                      end if
                                                    %>
                                                    <br>
        &nbsp;&nbsp;<font color="#FF9C00">»</font> <a href="<%=kilde%>" target="_new">Kilde</a><br>
            &nbsp;&nbsp;<font color="#FF9C00">»</font> <a href="<%=link%>" target="_new">Læs mere</a><br>
            &nbsp;&nbsp;<font color="#FF9C00">Af:</font> <%=navn%>       
          </td>
        </tr>
      </table><br>
    </td>
  </tr>
</table>
</div>



<%
placering = placering + 1
  rs.MoveNext
loop

%>
Avatar billede plato Juniormester
14. april 2003 - 09:36 #11
Jeg kan sagtens sætte det hele i Response.Write og få loop til at virke, men det skulle helst være med denne her kode, da jeg ellers ikke kan benytte min antals kode inde i midten.
Avatar billede cesil Nybegynder
14. april 2003 - 09:39 #12
Prøv lige og check view source. Måske der er rod i html eller der sker en fejl et eller andet sted.
Avatar billede plato Juniormester
14. april 2003 - 09:47 #13
Ser det rigig nok ud da?
Avatar billede plato Juniormester
14. april 2003 - 09:49 #14
Hvis jeg fjerne dette her fra koden virker det næsten. Den udskriver godtnok 6 gange, men den samme nyhed.

Dette er hvad jeg har fjernet:
<%
                                                    AntalKommentarer=0
                                                    if isNumeric(ID) then
                                                    Set rs=objConn.Execute("SELECT COUNT(*) FROM newscom where nyhedid=" & ID)
                                                    AntalKommentarer=rs(0).Value
                                                   
                                                    Response.Write "(<font color='#FF9C00'>" & AntalKommentarer & "</font>)"
                                                      end if
                                                    %>

Men så kan jeg ikke tælle hvormange indlæg der er for den givende nyhed. :-/
Avatar billede cesil Nybegynder
14. april 2003 - 09:56 #15
arhg okay, nu er jeg med.

det er fordi dine recordset hedder det samme. Kald recordsettet inde i loopet noget andet fx rs1. Det løser alle dine problemer

<%
                                                    AntalKommentarer=0
                                                    if isNumeric(ID) then
                                                    Set rs1=objConn.Execute("SELECT COUNT(*) FROM newscom where nyhedid=" & ID)
                                                    AntalKommentarer=rs1(0).Value
                                                   
                                                    Response.Write "(<font color='#FF9C00'>" & AntalKommentarer & "</font>)"
                                                      end if
                                                    %>
Avatar billede plato Juniormester
14. april 2003 - 10:10 #16
Jep. Det gjorde det næsten:

http://www.trailersiden.dk/filmnet/default.asp

Bare at den udskriver den samme nyhed 6 gange.
Avatar billede plato Juniormester
14. april 2003 - 10:30 #17
Det virker nu..

Jeg fjernede:

Den henter data som den skal nu, også id.
Her er koden som den er nu, men loop virker ikke. Den viser kun 1.

<%

strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.Mappath("news.mdb")
Set objConn = Server.CreateObject ("ADODB.Connection")
objConn.Open strConnect



strSQL = "SELECT TOP 6  * FROM arkiv ORDER BY id DESC"
Set rs = objConn.Execute(strSQL)

'Udskriv top 6
placering = 1


If Not rs.EOF Then
   
Else
    Response.Write "<b>Der er noget galt med id'et</b><br><br>"
End If
rs.movefirst


Og skrev istedet:

<%

strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.Mappath("news.mdb")
Set objConn = Server.CreateObject ("ADODB.Connection")
objConn.Open strConnect



strSQL = "SELECT TOP 6  * FROM arkiv ORDER BY id DESC"
Set rs = objConn.Execute(strSQL)

'Udskriv top 6
placering = 1


Do While not rs.eof
    id = rs("id")
    overskrift = rs("overskrift")
    tekst = rs("tekst")
    navn = rs("navn")
    kilde = rs("kilde")
    link = rs("link")
    pic = rs("pic")


 




%>

Jeg takker for alt din hjælp. Den var påskønnet :-)
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