Avatar billede 1416 Nybegynder
29. maj 2000 - 13:59 Der er 19 kommentarer og
1 løsning

Udtrække brugere oprettet i denne uge

Hejsa!
Jeg har en tabel, med brugernavn og dato (dd-mm-yy).
Jeg skal udskrive en liste over de brugere, der er oprettet i den pågældende uge, Dvs er det mandag, skal der kun udskrives de brugere, der er oprettet i dag. Er det derimod søndag, skal der udskrives alle dem, der er oprettet siden i mandags.
Comprende?


Avatar billede tara Nybegynder
29. maj 2000 - 14:08 #1
Tara er blevet oprettet i dag 29-05-00.
Avatar billede dta Nybegynder
29. maj 2000 - 14:31 #2
Brug følgende SQL streng

SQLstr = "SELECT BRUGERE WHERE DATO > #"& dateadd("d",-7, date)&"#"
Avatar billede dta Nybegynder
29. maj 2000 - 14:32 #3
Uuuups!!

SQLstr = "SELECT * FROM BRUGERE WHERE DATO > #"& dateadd("d",-7, date)&"#"
Avatar billede sjensen Nybegynder
29. maj 2000 - 15:23 #4
Den holder ikke dta ! Dit forslag vil tage alle oprettelser 7 dage tilbage uanset hvad dag det er.

1416,

Der findes en var der indeholder dagnummeret (1 for mandag, 2 for tirsdag og så videre), men jeg er ikke sikker på hvad den hedder.

Da date er et tal bestående af dage siden 01.01.1900 kan du udregne datoen for i mandags ved at sige date minus dagnummeret minus 1:

mandag = dato - (dagnummer -1)

Hvis datoen allerede er mandag vil udregningen sige mandag = dato - (1 -1) hvilket svarer til mandag = dato. Således vil denne udregning altid give dig datoen for seneste mandag.

Denne kan du så bruge i din select og du vil altid få alle oprettede siden i Mandags.

Men mere kan jeg desværre ikke hjælpe dig med, for jeg ved som nævnt ikke hvad variablen for dagnummeret hedder i ASP.
Avatar billede lp Nybegynder
29. maj 2000 - 19:44 #5
hvilken database kører du?
Avatar billede 1416 Nybegynder
29. maj 2000 - 20:08 #6
lp: Access 97
Avatar billede lp Nybegynder
29. maj 2000 - 20:10 #7
benytter du MySQL kan følgende SQL streng benyttes:

select * from tabel where week(feltet_hvor_oprettelsesdato_er_indskrevet) = week(Now())

så henter den resultater fra denne uge.......helt som du vil........vil du have fra sidste uge skriver du bare -1 helt til slut sådan her:

select * from dvd_main where week(oprettet) = week(Now())-1

-2 giver forrige uge etc.......

nu må vi bare håbe du bruger MySQL :-)
Avatar billede lp Nybegynder
29. maj 2000 - 20:10 #8
nå, den skrev du mens jeg skrev svaret............prøv den alligevel......
Avatar billede lp Nybegynder
29. maj 2000 - 20:12 #9
he he, testede den lige på egen base, dvd_main betyder din tabel :-)))))
Avatar billede ortrak Nybegynder
29. maj 2000 - 20:14 #10
Du kan bruge DateDiff. Hvis du sætter intervallet "week of year" finder den ud af, hvorvidt to datoer tilhører den samme uge i det givne år. F.eks.

date1 = "28-05-2000"
date2 = "25-05-2000"
difference = DateDiff("ww", date2, date1)

returnerer 1, da datoerne til hører to forskellige uger.


date1 = "27-05-2000"
date2 = "25-05-2000"
difference = DateDiff("ww", date2, date1)

returnerer 0, da datoerne tilhører samme uge.

Ergo lave du bare en DateDiff på alle datoerne i databasen i forhold til den aktuelle dato, og hvis der bliver returneret 0, så er det båh dæjlig.


/ortrak


Avatar billede 1416 Nybegynder
29. maj 2000 - 20:19 #11
lp: Desværre! Den brokker sig:
Der er en ikke-defineret funktion "week" i udtrykket.
Avatar billede 1416 Nybegynder
29. maj 2000 - 20:31 #12
ortrak: Det lyder jo meget fornuftigt, men jeg kan ikke få det til at makke ret...
Min sql sætning:
SQL = "select * from brugere where DateDiff(""ww"","&date()&", dato) = 0"

Dette virker ikke...
Nu siger den:
Der er for få parametre. Der var ventet 1.
Avatar billede lp Nybegynder
29. maj 2000 - 21:14 #13
skift til MySQL :-))))))))))

det styrer helt vildt og er desuden gratis :-)))

det man ikke kan i MySQL er sg* svært at finde......
Avatar billede dta Nybegynder
29. maj 2000 - 22:21 #14
OK Jeg fattede ikke lige pointen men så skulle dette virke

CurWeekday = Weekday(date, 2)
SQLstr = "SELECT * FROM BRUGERE WHERE DATO > #"& dateadd("d",-CurWeekday, date)&"#"
Avatar billede ortrak Nybegynder
29. maj 2000 - 22:51 #15
1416:

SQL = "select * from brugere"
Set RS = Connect.Execute(SQL)

if not rs.eof then
do while not rs.eof
if DateDiff("ww", RS("DATO"), date()) = 0 then
response.write "det er bår dæjlig"
end if
rs.movenext
loop
end if

/ortrak
Avatar billede 1416 Nybegynder
30. maj 2000 - 10:10 #16
lp: Ja har faktisk overvejet det, men jeg har liidt svært ved at komme igang...det er ikke fordi, at der er meget på www om asp+mysql...
Har du noget?

Ortrak: Tak det hjalp! :-)

1416
Avatar billede lp Nybegynder
30. maj 2000 - 10:50 #17
du kan findes massevis af dokumentation om MySQL på http://www.mysql.com og desuden er der ikke de store forskel på utrækkende bortset fra at du kan lave nogle meget mere seriøse udtræk fra en MySQL database.

Den linje jeg skriv til dig erstatter ALT det kode de andre sendte hvis du kører en MySQL og det før jo det hele ret meget lettere......

Som udbyder af MySQL kan jeg kraftigt anbefale Digiweb som har et rigtig lækkert online interface hvorfra du kan administrere din database.
Avatar billede ortrak Nybegynder
30. maj 2000 - 11:54 #18
1416: you're welcome


/ortrak
Avatar billede 1416 Nybegynder
30. maj 2000 - 22:00 #19
lp: jow jow, men jeg ville gerne have lidt info om asp+mysql...f.eks hvordan connecter man til den fra asp?
Avatar billede 1416 Nybegynder
30. maj 2000 - 22:18 #20
lp: du kan jo få lidt point for lidt 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