Avatar billede hansi67 Nybegynder
01. november 2007 - 11:27 Der er 9 kommentarer og
1 løsning

Dato, hvordan skal db felt oprettes og hvordan med sortering?

Hej,

Jeg sidder og skal til at forberede at lave en slags event kalender og er i den forbindelse lidt i tvivl om hvordan jeg skal organisere php/mysql.
Det er meningen at man fra en admin-del skal kunne oprette events.
En event består af:

- Event kategori (danske eller udenlanske, har sin egen table i db)
- Dato for event
- Overskrift
- tekst
- pdf-fil


Events'en skal vise på siden på denne måde, sorteret efter kategori og derefter dato:
---------------------------
Danske events (Event kategori):
dato, overskrift
dato, overskrift
ect.

Udenlanske events (Event kategori)
dato, overskrift
dato, overskrift
ect.
---------------------------

Pt. ser mine db sådan her ud:
---------------------------
CREATE TABLE events (
event_id int(10) unsigned not null primary key auto_increment,
events_categories_id  int(10) unsigned not null,
dato_event varchar(32) not null,
heading varchar(32) not null,
txt text not null,
pdf_file varchar(32)
);

CREATE TABLE events_categories (
category_id int(10) unsigned not null primary key auto_increment,
category_name varchar(32) not null
);
---------------------------


Jeg har sådan set styr på det meste med undtagelse af "dato for event", mit problem er to ting:

- hvordan skal jeg bede brugeren af admin-delen om at indskrive datoen (og hvordan er det bedst jeg opretter feltet i mysql)?
- Hvordan får jeg får jeg lettest vist dataen korrekt på "event siden" der skal være sorteret efter kategori og derefter dato?

Jeg håber jeg har forklaret mit problem tydeligt nok, ellers spørg :)
Avatar billede jakobdo Ekspert
01. november 2007 - 11:47 #1
I mysql bør du benytte DATE ELLER DATETIME (alt efter om du kun vil have dato eller dato og tid)
Når en bruger skal vælge en dato, kan du benytte en javascript DATEPICKER, de kan som regel rettes, så de levere en dato i formattet: YYYY-MM-DD
Avatar billede hansi67 Nybegynder
01. november 2007 - 11:57 #2
Super, kan du anbefale en javascript DATEPICKER? (skal være gratis)

"Date" er nok. Time er i dette tilfælde ligemeget.
Avatar billede jakobdo Ekspert
01. november 2007 - 12:09 #3
De fåes i mange variantioner.
En hurtig søgning på google, gav mig: http://www.nsftools.com/tips/DatePickerTest.htm
Avatar billede hansi67 Nybegynder
01. november 2007 - 12:29 #4
jakobdo..TAK!
Jeg fandt selv et par stykker som måske også kan benyttes, men din ser udmiddlebart fin ud.

Jeg vil gerne give point for dette og så åbne en tråd senere med mit sorterings problem:
Events'en skal vise på siden på denne måde, sorteret efter kategori og derefter dato:
---------------------------
Danske events (Event kategori):
dato, overskrift
dato, overskrift
ect.

Udenlanske events (Event kategori)
dato, overskrift
dato, overskrift
ect.
---------------------------
Avatar billede jakobdo Ekspert
01. november 2007 - 13:18 #5
Hvordan styrer du dansk eller udenlandske events?
Avatar billede hansi67 Nybegynder
01. november 2007 - 13:41 #6
jeg er ikke sikker på hvad du mener .. men de ligger i sin egen table i db:
----
CREATE TABLE events_categories (
category_id int(10) unsigned not null primary key auto_increment,
category_name varchar(32) not null
);
----

Jeg har så et felt min "event table" der hedder "events_categories_id" som er = "category_id" i "events_categories" tablen:
-----------
CREATE TABLE events (
event_id int(10) unsigned not null primary key auto_increment,
events_categories_id  int(10) unsigned not null,
dato_event varchar(32) not null,
heading varchar(32) not null,
txt text not null,
pdf_file varchar(32)
);
----------

btw.. jeg har lige fået den datepicker til at virke ..sweet :)
Avatar billede hansi67 Nybegynder
01. november 2007 - 13:51 #7
du kan bare smide et svar så giver jeg point .. så tager jeg fat på det sorterings probem når jeg når dertil.

Jeg er bare super glad for den picker!
Avatar billede jakobdo Ekspert
01. november 2007 - 17:12 #8
Du kan prøve en SQL ala:

SELECT dato_event, heading FROM events ORDER BY events_categories_id, dato_event
Avatar billede hansi67 Nybegynder
01. november 2007 - 18:57 #9
takker... jeg kikker på det sql senere, når jeg kommer dertil
Avatar billede jakobdo Ekspert
01. november 2007 - 20:51 #10
Takker for point.
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