Avatar billede hb-ungdom Nybegynder
11. maj 2001 - 00:45 Der er 5 kommentarer og
1 løsning

Åben side efter dag

Jeg har 7 sider, en for hver dag.
Hvordan åbnes en side efter hvilken dag det er. + chekke om dagens side ligger i DB.

Det skal bruges som en slags dagbog hvor der hentes en tom side første gang den åbnes den dag.

Ved komplet kode 100 point ekstra.
Avatar billede madrich Nybegynder
11. maj 2001 - 01:18 #1
Hvis du har alle datoer liggende i databasen, kan den aktuelle dato vises, med

sql = \"select _indholdsfelt_ from kalender where _dato_ =\" & date()

den aktuelle dato = date() (kalder servervariabel der er lig den aktuelle dato)

hvis du skal vide om det er mandag, tirsdag etc.

så

er det

ugedag = Weekday(date())
if ugedag = \"1\" then
ugedag = \"Monday\"
end if
if ugedag = \"2\" then
ugedag = \"Tuesday\"
end if
if ugedag = \"3\" then
ugedag = \"Wednesday\"
end if
if ugedag = \"4\" then
ugedag = \"Thursday\"
end if
if ugedag = \"5\" then
ugedag = \"Friday\"
end if
if ugedag = \"6\" then
ugedag = \"Saturday\"
end if
if ugedag = \"7\" then
ugedag = \"Sunday\"
end if


sql = \"select _indholdsfelt_ from kalender where ugedag = \'ugedag\'\"


Avatar billede madrich Nybegynder
11. maj 2001 - 01:22 #2
du har en tabel i basen der hedder kalender med 2 kolonner

dato                _indholdsfelt_
02-06-2001      \"I dag er det mors fødselsdag\"

Hvis det så er den 2 juni, så vil out-puttet være \"I dag er det mors fødselsdag\"


Jeg vil gerne hjælpe dig mere, men du bliver nødt til at være lidt mere præcis med hvad du vil have!
Avatar billede madrich Nybegynder
11. maj 2001 - 01:28 #3
Avatar billede madrich Nybegynder
11. maj 2001 - 01:31 #4
det er ret let at kombinere med en base, hvor man så kan kalde den enkelte side efter hvad dag man har valgt:=)
Avatar billede hb-ungdom Nybegynder
11. maj 2001 - 02:47 #5
Det jeg skal bruge er, at når man kommer ind på dagbogen, så skal man først chekke om dagen idag ligger i basen, hvis ikke, så skal den f.eks åbne en side for den aktuelle dag, f.eks mandag.asp, som så kan gemmes i db. Hvid den findes åbner den selvfølgelig mandag med de dataer der er gemt tidligere den dag.
Avatar billede sbm Nybegynder
11. maj 2001 - 09:45 #6
Ud fra din beskrivelse virker det som om at du vil åben en blank side første gang du er inden på mandag-siden, og så åbne præcis den side igen den efterfølgende mandag, og fortsætte på de samme mandag-indtastninger?

Det går jeg ikke ud fra er tilfældet?

Jeg vil anbefale dig at lave EN side som bruges alle ugedagene. Hvis det er et must for dig at lave en side til hver dag, kan du altid kopiere den jeg nu vil foreslå dig at lave.

Lav en enkelt asp fil der f.eks. hedder ugedag.asp eller dagbog.asp e.lign.

I din database har du to tabeller. En der indholder alt hvad der er interessant for den enkelte ugedag -> Ugedagens nummer (1-7), ugedagens navn, og øvrige ting der eksempelvis skal stå på mandags-siden, eller tirsdags-siden osv. Hvis der ikke er noget særligt for de enkelte dage, kan du droppe denne tabel, og nøjes med den sidste, som indeholder de enkelte indlæg i dagbogen.

Denne tabel rummer naturligvis en dato for den pågældende dag. Evt. et bruger-id hvis der nu er flere brugere der skal bruge denne dagbog, og endelig et rummeligt tekst-felt hvor selve indlægget kan stå. I Access vil det felt være et Notat felt. I Oracle vil det være en Varchar2 osv... Find det der passer for din database, og giv den eksempelvis et par kb eller fire til at boltre sig på. (I Oracle mener jeg at Varchar2 felter maks kan være fire kb store)

Når en bruger kommer ind på siden, laver du en SELECT ned mod databasen for at se om vedkommende tidligere har været derinde den dag.

Hvis det er et enkeltbruger system vil den SELECT eksempelvis se således ud:

SQL = \"SELECT * FROM DAGBOG WHERE DATO = \" &Date()

Hvis der er flere brugere, gør du den lidt længere.

SQL = \"SELECT * FROM DAGBOG WHERE DATO = \" & Date() & \" AND BRUGER = \" & brugerID

Hvis du ikke får et eneste indlæg retur, så har brugeren ikke været derinde tidligere den dag, og du præsenterer ham for en tom side. Hvis han HAR været derinde, præsenterer du ham for det der allerede er tastet ind, så han kan fortsætte. Husk at gemme den fundne række\'s ID nummer. (Du kan godt finde den igen uden en unik ID, men det er trods alt nemmere at finde den ud fra et nummer, ved at give hver nye række et unikt nummer.)

Ved submit af de indtastede data, laver du en update på tekstfeltet i den pågældende række, og hvis der er tale om et nyoprettet indlæg, laver du istedet en INSERT hvor du opretter alle felterne, og får sat brugerid og dato ind i de korrekte felter.

Det skulle vist dække det...?
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