Avatar billede jansangill Nybegynder
30. december 2005 - 19:36 Der er 9 kommentarer og
1 løsning

tælle aktivitet i db

hallo eksperter,

jeg har et lile spørgsmål, hvordan kan man tælle aktiviteten i ens databse , lad os sige den sdiste måned.

Jeg kan godt find eud af at tælle aktiviteten, men hvordan begrænser man tællingen til den sidste måned.

Dette er min kode so far:

'sql
set db = conn.execute ("SELECT COUNT(emne) AS aktivitet FROM forum WHERE status = 1")
set db1 = conn.execute ("SELECT COUNT(reply) AS aktivitet1 FROM comment WHERE status = 1")
   
if (db("aktivitet")+db1("aktivitet1")) = 0 then
        response.write "<img src='../billeder/activity0.gif'>"
    elseif (db("aktivitet")+db1("aktivitet1")) >1 and (db("aktivitet")+db1("aktivitet1")) < 10 then
        response.write "<img src='../billeder/activity1.gif'>"
    elseif (db("aktivitet")+db1("aktivitet1")) >10 and (db("aktivitet")+db1("aktivitet1")) < 25 then
        response.write "<img src='../billeder/activity2.gif'>"
    elseif (db("aktivitet")+db1("aktivitet1")) >25 and (db("aktivitet")+db1("aktivitet1")) < 40 then
        response.write "<img src='../billeder/activity3.gif'>"   
    elseif (db("aktivitet")+db1("aktivitet1")) >40 and (db("aktivitet")+db1("aktivitet1")) < 70 then
        response.write "<img src='../billeder/activity4.gif'>"
    elseif (db("aktivitet")+db1("aktivitet1")) >70 and (db("aktivitet")+db1("aktivitet1")) < 100 then
        response.write "<img src='grafik/activity5.gif'>"
    elseif (db("aktivitet")+db1("aktivitet1")) > 100 then
        response.write "<img src='../billeder/activity5.gif'>"
end if
Avatar billede ch007 Nybegynder
30. december 2005 - 19:45 #1
Du har en fejl i din kode... Den tæller ikke når db1("aktivitet1")) = 10 ... = 25... = 40 osv..

Ellers må du jo ha gemt en dato i din db og så er det blot at hente udtrækket som er større end den 0/10-2005, hvis du fx skal have antallet i oktober 2005 (du skal nok sætte mindre end 1/11 også)
Avatar billede jansangill Nybegynder
30. december 2005 - 19:48 #2
ja det har du ret i, den skal self også tælle 25, 40 osv, men det medd atoen, det skal jo foregå dynamisk, ikke bare en random måned hvor jeg tæller i
Avatar billede ch007 Nybegynder
30. december 2005 - 19:54 #3
Nå okay. Nu er jeg med. Altså du vil gerne have et udtræk der fortælle automatisk at hvis du går ind i dag skal den fortælle hvad der har været sien 30/11 og hvis du går inden 15 jan skal den komme frem med 15 dec - 15 jan?

Hvordan gemmer du dato i db'en? Jeg har nemlig nogle gange gemt dem som (datoen i dag:) 20051230 og så er det jo bare at tage udtrækket efter: >(20051230-30)

Men hvor står det i din db? 2005-12-30 ??
Avatar billede jansangill Nybegynder
30. december 2005 - 20:00 #4
30-12-2005, på denne måned, og ja hvis brugeren logge rind den 15 ja, skal den huske aktivitet fra 15 dec til 15 jan
Avatar billede ch007 Nybegynder
30. december 2005 - 20:03 #5
Du skal blot trække en fra mdr i midten så...

Husk at lave en if-sætning hvis mdr er 1, så skal den self sættes til 12 og der skal trækkes en fra året...
Avatar billede jansangill Nybegynder
30. december 2005 - 20:22 #6
probelmet er bare, at jeg er ikke den hårdeste nød i klassen lige nu til asp, er først ved at lære det.

mener du noget lignede dette?


dagsdato = Now()

'sql
set db = conn.execute ("SELECT COUNT(emne) AS aktivitet FROM forum WHERE status = 1 AND dagsdato - 30")
set db1 = conn.execute ("SELECT COUNT(reply) AS aktivitet1 FROM comment WHERE status = 1 AND dagsdato - 30")
Avatar billede jansangill Nybegynder
30. december 2005 - 20:47 #7
eller noget i denne stil?

dato = DateAdd("d",-1,date)
dato = Year(dato) & "-" & Month(dato) & "-" & Day(Dato)

strSQL = "SELECT COUNT(reply) AS aktivitet FROM comment WHERE CDate(dato) >= #" & dato & "# AND status = 1"
Avatar billede ch007 Nybegynder
01. januar 2006 - 19:49 #8
En løsning jeg har brugt (men som ikke er den smarteste, men den virker!!!)

Jeg gemmer datoer i db som: 20051230

Så kan jeg blot hente dato og trække 100 fra, så har jeg en mdr før...

Hvorfor har jeg gjort dette? Fordi jeg i min tid som nybegynder DB ikke kunne få det til at virke med at gemme i databasen, så var det min løsning og jeg gør det stadig...

Jeg kan desværre ikke hjælpe når det er gemt som 30-12-2005
Avatar billede jansangill Nybegynder
19. januar 2006 - 00:40 #9
sorry, jeg ikke svarede tilbage, tak for hjælpen. Hvis du vil have point for det så giv et svar.

den løsnin jeg valgte var dette:

dato = DateAdd("d",-30,date)
dato = Year(dato) & "-" & Month(dato) & "-" & Day(Dato)

strSQL = "SELECT COUNT(reply) AS aktivitet FROM comment WHERE CDate(dato) >= #" & dato & "# AND status = 1"

Dette virker perfekt, også ved års skifte.
Avatar billede jansangill Nybegynder
29. juni 2007 - 20:48 #10
svar.
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