Avatar billede mccookie Seniormester
13. februar 2007 - 20:54 Der er 9 kommentarer og
1 løsning

CMS content database.

Hejsa

Vil gerne lave mig en database til et CMS system og har nogle ideer til hvordan det skal virke, håber nogen der vil dele deres erfaringer med mig ;)

Indhold gemmes i contentDB.

Tanken er noget
Tabel_id
Dato for opretteslse
Seneste ændring
Selve indholdet
Status (Aktiv, inaktiv)

Så tænker jeg i noget publish-dato

1)
Aktiv fra dato til dato 1/3 - 1/4

2)
Aktiv fra denne dato 1/3

3)
Fra dags dato.

Men jeg er lidt i tvivl om hvordan jeg lige skal tackle det publish ting.

Skal det være en særlig tabel eller en del af den øvrige tabel?

og hvordan ville det være smartest at løse.....


Håber nogen kan se hvad jeg mener ;)
Avatar billede whatever Nybegynder
13. februar 2007 - 21:27 #1
Du laver to felter AktivFra og AktivTil, de skal være typen Date og standard værdien skal være 0000-00-00.

Når du skal checke om siden må vises skriver du f.eks.:

SELECT * FROM contentDB WHERE AktivFra >= NOW() AND AktivTil <= NOW()
Avatar billede whatever Nybegynder
13. februar 2007 - 21:27 #2
Det burde virke i alle 3 scenarier
Avatar billede mccookie Seniormester
13. februar 2007 - 22:20 #3
Hmm.. okaj....

Men hvad hvis nu der er nogen der ikke skal have en dato til fra??

Hvordan håndterer jeg det bedst muligt??
Avatar billede mccookie Seniormester
13. februar 2007 - 22:23 #4
Måske kunne jeg selvfølgelig lave en publish status i tabellen, men ville det ikke medfører 2 kald til databasen?
Avatar billede whatever Nybegynder
13. februar 2007 - 22:29 #5
I din form hvor man kan oprette siden, har to felter til datoerne. AktivFra og AktivTil.  Du udfylder dem så efter behov:

1) Siden er aktiv fra 1/3-1/4. Udfyld både fra og til dato.
2) Siden er aktiv fra 1/3-IS. Udfyld kun fra dato.
3) Siden er aktiv fra DD-1/4. Udfyld kun til dato
4) Siden er aktiv fra DD-IS. Udfyld ingen af felterne.
DD = Dags dato. IS = Ingen slut dato.

Håber der giver mening.
Avatar billede mccookie Seniormester
13. februar 2007 - 22:31 #6
Men tænker: Hvis man nu lavede en tabel der eks. hed publish_status

1) Fra, til

2) Fra, uendelig
Avatar billede mccookie Seniormester
13. februar 2007 - 22:33 #7
Ja, det giver mening, men prøver bare at tænke 3 skridt frem, for at se om det er optimalt det jeg har gang i ;)

Gider du smide et svar, så er der lidt point at fordele når jeg lukker ;)

Afventer lige evt. andre bud ;)
Avatar billede whatever Nybegynder
13. februar 2007 - 22:34 #8
Du har ikke rigtig brug for en tabel med nogle statuser. Alle de 4 scenarier jeg nævner er dækket ind af to felter.

Mit sql query fra så forkert. Denne burde være rigtig:

SELECT * FROM contentDB WHERE AktivFra <= NOW() AND AktivTil >= NOW()
Avatar billede whatever Nybegynder
13. februar 2007 - 22:35 #9
Et svar.
Avatar billede mccookie Seniormester
13. februar 2007 - 23:21 #10
Men så tænker jeg igen..

SELECT * FROM contentDB WHERE AktivFra <= NOW() AND AktivTil >= NOW()

Arrghh.... Thi..

SELECT * FROM contentDB WHERE 0 <= NOW() AND AktivTil >= NOW()

SELECT * FROM contentDB WHERE Imorgen <= NOW() AND AktivTil >= NOW();

Yessir.....got it' and point for you ;)

///McCookie
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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