/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
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

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste