Avatar billede jespernerd Nybegynder
04. februar 2009 - 12:37 Der er 7 kommentarer

Deadline system, nemmest?

Hej, jeg skal lave en liste over man kan vælge hvornår ens opgave skal udløbe - derfor en deadline.

Mit spørgsmål er så, hvordan jeg kan lave det nemmeste.

Jeg har selv tænkt på at lave en while eller løkke, som automatisk siger:

$s.='<select name="deadline">';
$s.='<option value="1">1 uge</option>
<option value="2">2 uger</option>
<option value="3">3 uger</option>
<option value="4">4 uger</option>
<option value="6">6 uger</option>
<option value="8">8 uger</option></select>';

Men men, det vil jo ikke fungere praktisk.

Kan nogle hjælpe mig med, at lave det nemmeste og mest brugligt?

Noget med den tager dagen i dag som yyyy-mm-dd og plusser uger til automatisk, så jeg kan - via min mysql tabel, lave 2 kolonner som "startdato", og "slutdato"?

På forhånd tusind tak.
Avatar billede jakobdo Ekspert
04. februar 2009 - 13:01 #1
Du kan sagtens bruge din metode.
Da du netop bruger mysql, kan du efterfølgende indsætte deadline datoer med:
DATE_ADD(NOW(),INTERVAL 1 WEEK) = NU + 1 uge...
DATE_ADD(NOW(),INTERVAL 2 WEEK) = NU + 2 uge...
osv...
Så hvis du laver:

UPDATE TABEL_NAVN SET deadline = DATE_ADD(NOW(),INTERVAL ".$UGE_FRA_FORMULAR." WEEK) WHERE noget = andet
Avatar billede jespernerd Nybegynder
04. februar 2009 - 13:03 #2
Hej jakob, nu mener jeg, hvordan min <select>, laves, så den automatisk laver f.eks:

(hvis jeg vil have 1 uge som deadline):
2009-02-(04+1 uge frem)
Avatar billede jakobdo Ekspert
04. februar 2009 - 13:23 #3
Men spørgsmålet er netop hvad du ønsker ?
Er det fordi du gerne vil vise datoerne i feltet ?
Eller er det en måde at gemme det på ?
Avatar billede jespernerd Nybegynder
04. februar 2009 - 13:26 #4
Det er måden at gemme på, og også vise dem.

Altså, når man opretter en opgave, skal man vælge en deadline. F.eks fra dagsdato og 2 uger frem (en form for dropdown list).

Derefter via backend skal jeg kunne vise opgaver fra forskellige uger. f.eks vise opgaver som er fra dagsdato og 1 uge frem, 2 uger frem osv.
Avatar billede jakobdo Ekspert
04. februar 2009 - 13:35 #5
Det nemmeste må være din form ala:

$s.='<select name="deadline">';
$s.='<option value="1">1 uge</option>
<option value="2">2 uger</option>
<option value="3">3 uger</option>
<option value="4">4 uger</option>
<option value="6">6 uger</option>
<option value="8">8 uger</option></select>';

Og så gemme det på denne måde:
DATE_ADD(NOW(),INTERVAL 1 WEEK)
Avatar billede jespernerd Nybegynder
04. februar 2009 - 15:19 #6
Jeg fandt en løsning.
$s.='<option value="'.strtotime('+1 week').'">1 uge</option>
<option value="'.strtotime('+2 week').'">2 uger</option>
<option value="'.strtotime('+3 week').'">3 uger</option>
<option value="'.strtotime('+4 week').'">4 uger</option>
<option value="'.strtotime('+6 week').'">6 uger</option>
<option value="'.strtotime('+8 week').'">8 uger</option>
';

:-) Du må meget gerne lægge svar, og kigge mit forrige spørgsmål, da jeg manglede lidt svar
Avatar billede jakobdo Ekspert
04. februar 2009 - 15:29 #7
Er vi ikke enige om data bliver gemt i en database ?
Din løsning gemme tiderne i unix_timestamp.
Brug nu min metode og brug den indbyggede DATE eller DATETIME til at gemme datoer og/eller tider i mysql.
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