|
| Kalender system i php... Fra : Jeppe Christensen |
Dato : 01-11-06 19:55 |
|
Kære NG...
Jeg skal igang med at lave en kalender til et webprojekt jeg har
gang i. Jeg har aldrig arbejde med kalendere før, og har derfor
brug for lidt hjælp til at komme igang med at kode min kalender.
Jeg har læst i php manualen men kan ikke helt finde ud af hvordan
jeg bruger de forskellige funktioner.
Så hvis der var en venlig sjæl der gad skriv nogle af de
indbygget php funktioner jeg skal bruge samt hvordan jeg bruger
dem, så skulle jeg gerne selv kunne få bikset resten sammen.
Tænker her på funktioner der f.eks. finder hvor mange dage der er
i den pågælende måned osv..
/Jeppe Christensen
ps. Mit webhotel ligger på one.com hvis det skulle hjælpe...
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Kasper Johansen (01-11-2006)
| Kommentar Fra : Kasper Johansen |
Dato : 01-11-06 22:42 |
|
Jeppe Christensen skrev:
> Så hvis der var en venlig sjæl der gad skriv nogle af de
> indbygget php funktioner jeg skal bruge samt hvordan jeg bruger
> dem, så skulle jeg gerne selv kunne få bikset resten sammen.
Jeg regner med, at du bruger en form for SQL-database. Hvis du vil hente
noget fra en bestemt månede i MySQL, så kan du f.eks. bruge DATE_FORMAT,
som der minder meget om date() i PHP.
http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html
> Tænker her på funktioner der f.eks. finder hvor mange dage der er
> i den pågælende måned osv..
Funktionen date() kan hjælpe dig med en masse af det:
http://dk.php.net/date
Hvis du vil have antal dage på en given dato (altså datoens månede), så
kan du gøre således:
<?
//her sætter vi $time til at være et timestamp, som er lige nu.
$time = time();
//sådan kan du sætte $time til at være en given dato (d. 17. Juni
1985 - min fødselsdag):
$time = mktime(0, 0, 0, 6, 17, 1985);
//returnere antal dage for timestampet.
$days = date("w", $time);
?>
Læs mere om hvordan du laver timestamps med mktime() her:
http://dk.php.net/mktime
Du kan også bruge strtotime(), som der kan lave nogle rigtigt sjove ting
ved hjælp af strenge:
http://dk.php.net/manual/da/function.strtotime.php
Held og lykke med projektet :)
--
Med venlig hilsen
Kasper Johansen
| |
Jeppe Christensen (02-11-2006)
| Kommentar Fra : Jeppe Christensen |
Dato : 02-11-06 22:34 |
|
> Hvis du vil have antal dage på en given dato (altså datoens månede), så
> kan du gøre således:
> <?
> //her sætter vi $time til at være et timestamp, som er lige nu.
> $time = time();
>
> //sådan kan du sætte $time til at være en given dato (d. 17. Juni
> 1985 - min fødselsdag):
> $time = mktime(0, 0, 0, 6, 17, 1985);
>
> //returnere antal dage for timestampet.
> $days = date("w", $time);
> ?>
Mange tak for hjælpen Kaspar. Har prøvet at lege lidt med det men kom ud for
noget lidt besynderligt:
$time = time();
$time = mktime(0, 0, 0, 2, 0, 2006);
$days = date("t", $time);
echo $days;
Skulle gerne give antal dage i februar (som er 28), men skriver istedet for
31?
/Jeppe Christensen
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Peter Brodersen (02-11-2006)
| Kommentar Fra : Peter Brodersen |
Dato : 02-11-06 22:52 |
|
On 02 Nov 2006 21:34:27 GMT, Jeppe Christensen
<mr.puityNOSPAM@gmail.com> wrote:
>$time = mktime(0, 0, 0, 2, 0, 2006);
>
>$days = date("t", $time);
>
>echo $days;
>
>Skulle gerne give antal dage i februar (som er 28), men skriver istedet for
>31?
Du får timestamp for den 0. februar.
Den 0. februar er lig med 31. januar. Og der er 31 dage i januar.
--
- Peter Brodersen
Kendt fra Internet
| |
Kasper Johansen (03-11-2006)
| Kommentar Fra : Kasper Johansen |
Dato : 03-11-06 11:34 |
|
On 02 Nov 2006 21:34:27 GMT, Jeppe Christensen
<mr.puityNOSPAM@gmail.com> wrote:
> $time = mktime(0, 0, 0, 2, 0, 2006);
> $days = date("t", $time);
> echo $days;
>
> Skulle gerne give antal dage i februar (som er 28), men skriver istedet for
> 31?
Peter Brodersen skrev:
> Du får timestamp for den 0. februar.
> Den 0. februar er lig med 31. januar. Og der er 31 dage i januar.
Lige for at hjælpe lidt mere, så kan du altid udskrive dit timestamp for
den givne dato med følgende:
<?
echo date("d/m Y - H:i", $time);
?>
Så kan du se, hvilken dato som timestampet står for.
mktime() er faktisk ret smart. Hvis du f.eks. prøver at skrive den 32.
januar, så vil timestampet automatisk blive sat til d. 1. februar (den
"korrekte" 32. januar).
--
Med venlig hilsen
Kasper Johansen
| |
|
|