13. maj 2009 - 09:50
Der er
13 kommentarer
Kalender hjælp
Hejsa, jeg ønsker lidt hjælp til at komme i gang med et kalender script/booking script. Jeg har i forevejen lavet kalenderen og hetning af data, men men.. Hvordan opstiller jeg et skema der (ud fra php) kan lave f.eks: 10.30-11.00 ???? 11.00-11.30 ???? 11.30-12.00 ???? Jeg har forsøgt mig lidt. Men gider ikke gøre det manualt, da administratoren skal kunne ændre "mellemrums" minutterne ved hvert (som i mit eksempel er 30 minutter). På forhånd tak.
Annonceindlæg fra Cepheo
Man skal også kunne vælge start og slut tidspunkt, så man kan sige, dagen starter fra kl. 10.00 til 17.00, hvor den så regner: 10.00-10.30 10.30-11.00 .... .... .... 15.30-16.00 16.00-16.30 ....
<?php for ( $i=10;$i<=17;$i++) { if ( $i==17) { echo $i . ".00-" . $i . ".00<br>"; } else { echo $i . ".00-" . $i . ".30<br>"; } } ?> Rigtig ringe løsning
LAver jeg f.eks denne, kan jeg jo ikke sætte den til 3 timer i mellem tidspunkterne jo :'( Hvad gør jeg? <?php $startTidspunkt = 10; //10 om morgenen $slutTidspunkt = 17; //17 om aftenen $mellemrum = 50; //30 minutter. for ( $i=$startTidspunkt;$i<=$slutTidspunkt;$i++){ if ( $i==17){ echo $i . ".00-" . $i . ".00<br />"; } else { echo $i . ".00-" . $i . "." . $mellemrum . "<br />"; } } ?>
Brug unixtime, gør det nemmere at fast sætte datoer og tidspunkter...
Ja, det var jo ikke meget hjælp :) Ingen der kan opbygge et eksempel på at fremvise disse tidspunkter
Måske dette kan hjælpe dig videre: ? <?php //PÅ EN TIME ER DER 3600 SEKUNDER //TIDEN PÅ START DAGEN $TidDag = mktime(0, 0, 0, date("m") , date("d"), date("Y")); //TIDEN NU $TidNu = time(); //ANTAL TIDER DER BØR VÆRE PÅ EN DAG $AntalTider = 1; // ANTAL TIDER //START $StartTid = 10*3600; // KL. 10 * 3600 SEKUNDER //SLUT $SlutTid = 17*3600; // KL. 17 * 3600 SEKUNDER $TidMellem = $SlutTid-$StartTid; $Mellem = floor($TidMellem/$AntalTider); $x = 1; $TidDag += $StartTid; while($x <= $AntalTider){ echo date("H:i", $TidDag)."-"; $TidDag += $Mellem; echo date("H:i", $TidDag)."<br>"; $x++; } ?>
10:00-10:42 10:42-11:24 11:24-12:06 12:06-12:48 12:48-13:30 13:30-14:12 14:12-14:54 14:54-15:36 15:36-16:18 16:18-17:00 Næsten rigtigt ! :-) Jeg skal kunne sætte mellemrummet i mellem intervallerne, sådan det bliver: 10:00 -10:30 10:30-11:00 11:00:11:30 <?php $TidDag = mktime(0, 0, 0, date("m") , date("d"), date("Y")); $TidNu = time(); $AntalTider = 10; $StartTid = 10*3600; // KL. 10 * 3600 SEKUNDER $SlutTid = 17*3600; // KL. 17 * 3600 SEKUNDER $TidMellem = $SlutTid-$StartTid; $Mellem = floor($TidMellem/$AntalTider); $x = 1; $TidDag += $StartTid; while($x <= $AntalTider) { echo date("H:i", $TidDag)."-"; $TidDag += $Mellem; echo date("H:i", $TidDag)."<br>"; $x++; } ?>
Det er jeg ikke med på.., forklar forklar...
Ligenu outputter den forkert intervaller som du kan se her, bliver klokkeslættet ikke korrekt. 10:00-10:42 10:42-11:24 11:24-12:06 .... Mellem 10.00 og 10.42 er der 42 minutter? Det skal være et interval på 60 minutter (evt. lav en variable i php, så jeg selv kan sætte intervallet). Ellers næsten rigtigt, håber du kan hjælpe med det
Jeg har ikke lige været på den seneste tid..., hvad så hvis intervallet ikke går op ?
Men er det ikke bare $AntalTider du skal sætte til noget andet end 10 ??
Eller du kunne sætte $Mellem til 1800 = ½ time..
Vi tilbyder markedets bedste kurser inden for webudvikling