Avatar billede soliduz Nybegynder
25. april 2005 - 13:25 Der er 14 kommentarer og
1 løsning

Ideer til en lysavis?

Hejsa, jeg sidder og leger med en opgave. den går ud på at lave en lysavis/info tavle til en skole.

Mit problem ligger i at lave selve lysavis siden hvor de nyheder der er oprettet bliver vist.

Jeg havde tænkt mig at lave en side der refreshede imellem alle de indtastede nyheder med ca. 30 sekunders mellemrum.. nu sidder jeg bare og mangler ideer til hvordan det kan laves?

Hvis nu den skulle oprette en ny side hver gang der blev oprettet en nyhed.. ville det kunne lade sig gøre?

mvh. Michael Sternberg
Avatar billede ellebaek Nybegynder
25. april 2005 - 13:51 #1
hmm..

hvis jeg forstår dig rigtigt, så vil du have en side, der lister alle nyheder med den nyeste øverst. Efter 30 sekunder opdatere siden, og hvis der er nye indlæg vises de..?

hvis det er tilfældet, så kan noget i den her stil bruges:

<meta http-equiv="refresh" content="30">
<%
sql = "SELECT * from TABEL ORDER BY id desc"
set rs = rs.execute(sql)

while not rs.eof
response.write "<b>" & rs("overskrift") & "</b><br>"
response.write rs("nyhed") & "<br><br><br>"
rs.movenext
wend
rs.close
%>
Avatar billede soliduz Nybegynder
25. april 2005 - 13:58 #2
ik helt min ven. der skal f.eks være 5 nyheder. der så vises på hele siden en af gangen. det er der mit problem ligger. :)
Avatar billede cpufan Juniormester
25. april 2005 - 14:13 #3
<meta http-equiv="refresh" content="30">
<%

if session.contents > 0 then
if session.contents = 1 then
session.contents = 5
end if
session.contents = session.contents - 1
else
session.contents = 5
end if
tal = 0
sql = "SELECT top(5) from TABEL ORDER BY id desc"
set rs = rs.execute(sql)
while tal < session.contents
rs.movenext
wend
    if not rs.eof
    response.write "<b>" & rs("overskrift") & "</b><br>"
    response.write rs("nyhed") & "<br><br><br>"
    end if
rs.close
%>
Avatar billede cpufan Juniormester
25. april 2005 - 14:14 #4
argh, glemte at tælle tal op:

<meta http-equiv="refresh" content="30">
<%

if session.contents > 0 then
if session.contents = 1 then
session.contents = 5
end if
session.contents = session.contents - 1
else
session.contents = 5
end if
tal = 0
sql = "SELECT top(5) from TABEL ORDER BY id desc"
set rs = rs.execute(sql)
while tal < session.contents
tal = tal + 1
rs.movenext
wend
    if not rs.eof
    response.write "<b>" & rs("overskrift") & "</b><br>"
    response.write rs("nyhed") & "<br><br><br>"
    end if
rs.close
%>
Avatar billede soliduz Nybegynder
25. april 2005 - 14:27 #5
meget fint cpufan :) hvis du vil forklare mig hvad de forskellige ting gør i grove træk kan du godt få nogle flere point hehe.. :)
Avatar billede cpufan Juniormester
25. april 2005 - 14:35 #6
ok:
session.contents er en session-variabel som sættes første gang brugeren åbner siden.

ved reload af siden tjekkes session.contents og den tælles en ned,
hvis den i forvejen står til at være 1 sættes den til 5.

der findes så de sidste 5 nyheder i db'en
og den starter med at vise den 5. nyeste, ved reload den 4. nyeste etc

den tester så også lige på om der overhovedet er 5 nyheder.
Avatar billede cpufan Juniormester
25. april 2005 - 14:38 #7
sql = "SELECT top 5 * from TABEL ORDER BY id desc"

der skulle lige en * med, og så uden paranteser
Avatar billede soliduz Nybegynder
25. april 2005 - 14:42 #8
okay. er der nogen mulighed for at lave så den selv finder ud af hvor nyheder der er, så hvis der er oprettet 2 skifter den imellem 2 og hvis der er 40 skifter den imellem de 40? kan man bare sætte den content fætter der til 40 f.eks så tager den kun de poster der er i databasen, altså den viser ikke tomme sider vel?
Avatar billede cpufan Juniormester
25. april 2005 - 15:00 #9
ja så ser den sådan ud,
Det andet kode du'r heller ikke da der mangler et navn i session.contents

men dette her fungerer:
der skal så lige laves en forbindelse til db'en

<meta http-equiv="refresh" content="30">
<%

if session.contents("taeller") > 1 then
session.contents("taeller") = session.contents("taeller") - 1
else
sqltop = "Select count(*) from tabel"
set rstal = conn.execute(sqltop)
session.contents("taeller") = rstal(0)
end if
tal = 0
sql = "SELECT top(5) from TABEL ORDER BY id desc"
set rs = conn.execute(sql)
while tal < session.contents("taeller")
tal = tal + 1
rs.movenext
wend
    if not rs.eof
    response.write "<b>" & rs("overskrift") & "</b><br>"
    response.write rs("nyhed") & "<br><br><br>"
    end if
rs.close
%>
Avatar billede soliduz Nybegynder
25. april 2005 - 15:03 #10
Microsoft VBScript runtime error '800a01c2'
Wrong number of arguments or invalid property assignment
/solid/hahej/lysavis.asp, line 28

Line 28 er if session.contents > 0 then
Avatar billede cpufan Juniormester
25. april 2005 - 15:04 #11
ja som sagt der skulle stå session.contents("taeller"),
ligesom der gør i det sidste kode jeg har postet.
Avatar billede cpufan Juniormester
25. april 2005 - 15:06 #12
og det skal naturligvis ikke være top 5 når det er alle;

så ny igen igen:

<meta http-equiv="refresh" content="30">
<%

if session.contents("taeller") > 1 then
session.contents("taeller") = session.contents("taeller") - 1
else
sqltop = "Select count(*) from tabel"
set rstal = conn.execute(sqltop)
session.contents("taeller") = rstal(0)
end if
tal = 0
sql = "SELECT * from TABEL ORDER BY id desc"
set rs = conn.execute(sql)
while tal < session.contents("taeller")
tal = tal + 1
rs.movenext
wend
    if not rs.eof
    response.write "<b>" & rs("overskrift") & "</b><br>"
    response.write rs("nyhed") & "<br><br><br>"
    end if
rs.close
%>
Avatar billede cpufan Juniormester
25. april 2005 - 15:08 #13
men jeg ville da nok vende det lidt om, så man har den nyeste først,
hvis der er 40 nyheder får jo først den nyeste efter 20 minutter.....

sql = "SELECT * from TABEL"
Avatar billede cpufan Juniormester
25. april 2005 - 15:12 #14
og denne skal ændres:
while tal < session.contents("taeller")
til

while tal < session.contents("taeller")-1  ' (måske -2 , det kan jeg ikke lige overskue)
Avatar billede soliduz Nybegynder
25. april 2005 - 15:28 #15
tusind tak for hjælpen, er på vej hjem nu men vi kan lige fixe et spm. mere imorgen så du kan få de resterende point. :) du har virkelig været en stor hjælp
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