Avatar billede tzag_dk Nybegynder
30. juni 2004 - 14:22 Der er 9 kommentarer og
1 løsning

Forsat opg. til fennec, måske.

Hej

Jeg fik lavet dette system af fennec:
http://www.eksperten.dk/spm/497248

Men nu er jeg kommet på en udvidelse :-)
Det går ud på at den først skal vælge fra de profiler der er online, og dernæst de profiler der er offline.

Den måde som jeg finder ud af om de er online ser sådan her ud:
profiler.onlinetime >= '"& dateadd("n", -1, now()) &"'

Håber at der er en der vil hjælpe :o)
// Rene
Avatar billede tzag_dk Nybegynder
30. juni 2004 - 14:23 #1
Det skal sættes ind i den her:
set rs = conn.execute("select hotbilleder.* from hotbilleder LEFT JOIN profiler ON (hotbilleder.profilerID = profiler.id) where hotbilleder.godkendt = '1' AND profiler.id <> '"& session("ID") &"' ORDER BY RAND()")
do while not rs.eof
  set rs1 = Conn.Execute("select * from hotstemmer where hotbillederID="& rs("id") &" hotstemmer.stemmeID ='"& session("ID") &"'"")
  if rs1.eof then
    'tegn billed...... %>
<img src="/images/hotbilleder/watermark/<%=rs("billede")%>">
<%
    exit do
  end if
  rs.MoveNext
loop
if rs.eof then
'standart billed......%>
<img src="/images/hotbilleder/ingenbilleder.jpg">
<%
end if
Avatar billede fennec Nybegynder
30. juni 2004 - 14:30 #2
Jeg er ikke sikker på hvordan data hænger sammen/ser ud i profiler.onlinetime, men jeg vil næsten tro at du bare skal udskifte din "ORDER BY RAND()".

Prøv med "ORDER By profiler.onlinetime desc". Så sorterer den efter dem der har den højest profiler.onlinetime.
Avatar billede tzag_dk Nybegynder
30. juni 2004 - 14:40 #3
Nu var jeg lige begyndt på at lave det om, men kan man ikke lave så at den bare først vælger tilfældigt fra dem som der er online?

Via den her: profiler.onlinetime >= '"& dateadd("n", -1, now()) &"'
Fordi ellers vil dem der lige er kommet på ikke rigtig have nogen chance for at få stemmer.
Avatar billede fennec Nybegynder
30. juni 2004 - 14:55 #4
Mener MySQL har understøttelse af funktion i select statments, og det ville være det mest optimale i dette tilfælde, da du så ikke skal til at kopiere en masse kode. Jeg ved desværre intet om hvordan det fungere. Har bare set det engang.

Den eneste løsning jeg så kan lave, består af at først vælge alle dem der er online også vælge dem der ikke er.

set rs = conn.execute("select hotbilleder.* from hotbilleder LEFT JOIN profiler ON (hotbilleder.profilerID = profiler.id) where hotbilleder.godkendt = '1' AND profiler.id <> '"& session("ID") &"' and profiler.onlinetime >= '"& dateadd("n", -1, now()) &"' ORDER BY RAND()")
...
Tegn billederne
...
set rs = conn.execute("select hotbilleder.* from hotbilleder LEFT JOIN profiler ON (hotbilleder.profilerID = profiler.id) where hotbilleder.godkendt = '1' AND profiler.id <> '"& session("ID") &"' and profiler.onlinetime < '"& dateadd("n", -1, now()) &"' ORDER BY RAND()")
...
Tegn billederne
...

Ellers skal du prøve i MySQL kategorien, Der er sikkert nogen, der ved om det kan lade sig gøre at få det i en select.
Avatar billede tzag_dk Nybegynder
30. juni 2004 - 15:03 #5
Jeg får dem lige til at kikke på det :-)
Avatar billede tzag_dk Nybegynder
30. juni 2004 - 23:23 #6
fennec >> Du må meget gerne ligge et svar, det var din løsning jeg brugte :-)

Så må vi se om jeg selv kan finde ud af at programer i morgen :o) hehe, det har ikke kørt så godt i dag. Det er jo en ret simpel løsning. Men det var vist en af de der dage hvor jeg ikke selv kunne se det :o) Så er det jo godt at du kan hjælpe. Tak for det!

// Rene
Avatar billede fennec Nybegynder
01. juli 2004 - 08:03 #7
ok.
Kom der ikke noget fra MySQL folkene??
Avatar billede tzag_dk Nybegynder
01. juli 2004 - 12:51 #8
Nej, desværre ikke :-( Det gør heller ikke noget nu, da det virker som det skal :o)
Avatar billede fennec Nybegynder
01. juli 2004 - 12:54 #9
Havde ellers håbed at der var nogen, der kunne det med funktioner. Så kunne det være, man kunne lære det, men det må blive en anden gang.

Tak for point :o)
Avatar billede tzag_dk Nybegynder
01. juli 2004 - 13:14 #10
Det var så lidt :o)
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