Avatar billede random Nybegynder
24. januar 2009 - 20:42 Der er 4 kommentarer og
1 løsning

Hvordan skal jeg trække det ud af db

Jeg har en datolille og nyhedstekstlille som begge skal omkring en Funktion inden de skal udskrives. Så hvordan gør det det? Dato og tekst bliver det samme, som om den kun skriver første nyhed ud i en løkke.


  <%
  set rsNyt2 = Server.CreateObject("ADODB.Recordset")
strSQL2 = "SELECT * FROM VT_NEWS WHERE NEWS_STATUS = 1 ORDER BY NEWS_ID DESC LIMIT 1,4"
rsNyt2.open strSQL2,strDNS

If Not rsNyt2.EOF Then

function addZero(s)
addZero = right("0" & s, 2)
end function

dim dato, nyhedstekstlille
datolille = CDate(rsNyt2("NEWS_DATE"))
nyhedstekstlille = rsNyt2("NEWS_CONTENT")

  %>
  </tr>
  <tr><td height="5"></td></tr>
  <tr>
    <td style="padding-left:5px; padding-right:5px">
   
    <%
RESPONSE.WRITE "<table width='182' height='50' border='0' cellpadding='0' cellspacing='0'>"
DO UNTIL rsNyt2.EOF
   

IF NOT rsNyt2.EOF THEN
RESPONSE.WRITE "<tr><td width='50' rowspan='2' valign='top'><img src='pic/dot_nyhed.jpg' width='19' height='9'></td>"
RESPONSE.WRITE "<td class='TextDato'>"&addZero(day(datolille)) & "<img src='pic/dato_streg.jpg' width='5' height='10'>" & addZero(month(datolille))&"</td>"
RESPONSE.WRITE "<td width='143' class='TextSenestNytOverskrift2'>"&rsNyt2("NEWS_HEADER")&"</td></tr>"
RESPONSE.WRITE "<tr style='cursor:hand' onclick=self.location.href='nyheder.asp?N_ID="&rsNyt2("NEWS_ID")&"' class='TextSenestNyt'>"
RESPONSE.WRITE "<td colspan='2'>"&Left(nyhedstekstlille,InStr(70, nyhedstekstlille, ". ") )&" </td></tr>"
RESPONSE.WRITE "<td colspan='3' width='182'><img src='pic/trans.gif' width='182' height='15'></td></tr>"
END IF

rsNyt2.MOVENEXT
LOOP

END IF
rsNyt2.CLOSE
SET rsNyt2 = NOTHING
%>
Avatar billede random Nybegynder
24. januar 2009 - 21:36 #1
Er det noget med at ligge det i et array eller hvordan løses dette?
Avatar billede softspot Forsker
24. januar 2009 - 22:31 #2
Umiddelbart ser det ud til at du aflæser datolille og nyhedstekstlille UDENFOR løkken og så vil den naturligvis ikke ændre sig i takt med at dit recordset gennemløbes. Prøv i stedet dette:

<%
  set rsNyt2 = Server.CreateObject("ADODB.Recordset")
strSQL2 = "SELECT * FROM VT_NEWS WHERE NEWS_STATUS = 1 ORDER BY NEWS_ID DESC LIMIT 1,4"
rsNyt2.open strSQL2,strDNS

If Not rsNyt2.EOF Then

function addZero(s)
addZero = right("0" & s, 2)
end function

dim dato, nyhedstekstlille

  %>
  </tr>
  <tr><td height="5"></td></tr>
  <tr>
    <td style="padding-left:5px; padding-right:5px">
   
    <%
RESPONSE.WRITE "<table width='182' height='50' border='0' cellpadding='0' cellspacing='0'>"
DO UNTIL rsNyt2.EOF
datolille = CDate(rsNyt2("NEWS_DATE"))
nyhedstekstlille = rsNyt2("NEWS_CONTENT")
   

RESPONSE.WRITE "<tr><td width='50' rowspan='2' valign='top'><img src='pic/dot_nyhed.jpg' width='19' height='9'></td>"
RESPONSE.WRITE "<td class='TextDato'>"&addZero(day(datolille)) & "<img src='pic/dato_streg.jpg' width='5' height='10'>" & addZero(month(datolille))&"</td>"
RESPONSE.WRITE "<td width='143' class='TextSenestNytOverskrift2'>"&rsNyt2("NEWS_HEADER")&"</td></tr>"
RESPONSE.WRITE "<tr style='cursor:hand' onclick=self.location.href='nyheder.asp?N_ID="&rsNyt2("NEWS_ID")&"' class='TextSenestNyt'>"
RESPONSE.WRITE "<td colspan='2'>"&Left(nyhedstekstlille,InStr(70, nyhedstekstlille, ". ") )&" </td></tr>"
RESPONSE.WRITE "<td colspan='3' width='182'><img src='pic/trans.gif' width='182' height='15'></td></tr>"

rsNyt2.MOVENEXT
LOOP

END IF
rsNyt2.CLOSE
SET rsNyt2 = NOTHING
%>


I øvrigt mener jeg den if du havde inde i løkken er øverflødig, da DO UNTIL udfører det samme check.
Avatar billede random Nybegynder
25. januar 2009 - 10:27 #3
Kanon, det virkede.. havde vist set mig lidt blind på det hele :-) Mange tak for hjælpen - send et svar og du får dine point
Avatar billede softspot Forsker
25. januar 2009 - 10:39 #4
Velbekomme :-)
Avatar billede softspot Forsker
25. januar 2009 - 13:48 #5
Tak for point :)
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