Avatar billede bobbedude Nybegynder
30. august 2004 - 09:40 Der er 10 kommentarer og
1 løsning

max 4 nyheder i timen

jeg har en database hvor brugerne kan submitte nyheder.
Disse nyheder har en dato

"PosteDate" af typen dato
(26-08-2004 17:16:00)

Hvordan kan jeg gøre så der kun kan komme max 4 nyheder ud i timen.

Nyhederne bliver ikke vist hvis feltet IsAlive = "Nop"

Jeg har en tabel som hedder faste i den har jeg tænks at der skulle være et felt med dato po den sidste nyhed der kom ud så man kan valider ud fra den.

Jeg kan dog ikke lige overskue det men måske kan du??
Avatar billede fennec Nybegynder
30. august 2004 - 09:42 #1
Hvilken database bruger du??
Avatar billede bobbedude Nybegynder
30. august 2004 - 09:56 #2
Access
Avatar billede fennec Nybegynder
30. august 2004 - 10:13 #3
Jeg er ikke helt sikker på hvad du vil, men denne SQL kan måske lede dig på den sporet af hvad du skal gøre...

"select Top 4 * from DinTabel where PosteDate<=now() and PosteDate>=DateAdd('h',-1,now()) and IsAlive <> 'Nop'"
Avatar billede bobbedude Nybegynder
30. august 2004 - 10:32 #4
i databasen kommer der en del nyheder på iløbet af dagen.

For at vise disse skal administratoren ind i admin modulet og sætte IsAlive til Yes.

Det jeg gerne ville have var at når en bruger kommer ind på sitet er at scriptet lige checker om der er nogen nye nyheder, hvis der er så checker den i tabellen faste og ser hvad sidste "dato/klokke" var da der sidst blev opdateret i databasen.

Hvis der er nye nyheder og det er over 4 timer siden der sidst kom nye på så smider den 4 nye ud på siden.

lidt mere simpelt.
Der står et dato/klokkeslet i en tabel.
Hvis den er ældre end 4 timer bliver der sat nye nyheder på siden og tabellen får opdateret dato/klokkeslet så der går 4 timer igen inden der bliver smidt nye nyheder ud.
Avatar billede fennec Nybegynder
30. august 2004 - 10:43 #5
PostDate er det så det tidspunkt hvor nyheden er blevet vist på???

og du mener vel 4 nyheder pr time, og ikke 4 nyheder pr 4 timer...
Avatar billede bobbedude Nybegynder
30. august 2004 - 11:28 #6
PostDate er det sidste tidspunkt der er blevet vist en nyhed på.

4 nyheder pr time.
Avatar billede fennec Nybegynder
30. august 2004 - 16:25 #7
Vender tilbage i morgen, hvis der ikke er andre, der har lavet en løsning.
Avatar billede bobbedude Nybegynder
30. august 2004 - 22:55 #8
lyder godt fennec

Jeg skal vil egentligt bare have en stump kode der checker om det tidspunkt der står i databasen er ældre end 4 timer.

For det med at opdater databasen er ikke noget problem.
Avatar billede fennec Nybegynder
31. august 2004 - 08:38 #9
Prøv denne:

set rs = conn.execute("select count(id) from DinTabel where PosteDate<=now() and PosteDate>=DateAdd('h',-1,now())")
if trim(rs(0)&"") <> "" then
  'PostDate er mindre end en time gammel
else
  'PostDate er mere end en time gammel
end if
Avatar billede bobbedude Nybegynder
31. august 2004 - 21:40 #10
det ser ud til det virker men jeg forstår ikke hvad
trim(rs(0)&"")
gør og hvorfor laver du et count(id) ?
Avatar billede fennec Nybegynder
01. september 2004 - 08:23 #11
Det var faktisk heller ikke nødvendigt at bruge count().

Selv om man bruger count() kan den være tom (NULL) hvis der ikke er nogen søgeresultater der passer (du kan altså ikke få returneret 0). Derfor gør jeg det til en streng ved at skrive &"" også fjerner jeg alle mellemrum omkring evt tekst/tal med trim(). Det kunne også se sådan ud uden count():

set rs = conn.execute("select PosteDate from DinTabel where PosteDate<=now() and PosteDate>=DateAdd('h',-1,now())")
if not rs.eof then
  'PostDate er mindre end en time gammel
else
  'PostDate er mere end en time gammel
end if
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