Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: PHP-kalenteri

Sivun loppuun

Antti Laaksonen [07.05.2002 10:58:34]

#

Yksinkertainen yhden kuukauden kerrallaan (voi toki laittaa monta vierekkäin) PHP-kalenteri. Näyttää oletuksena nykyisen vuoden ja kuukauden, mutta vaihtaminen onnistuu. Parantamisen varaa on, mutta kelvannee silti pohjaksi.

<html><body>
<?php
$kuukaudet=array("tammikuu","helmikuu","maaliskuu","huhtikuu","toukokuu","kesäkuu",
"heinäkuu","elokuu","syyskuu","lokakuu","marraskuu","joulukuu");
function luokalenteri($vuosi,$kuukausi)
	{
	global $kuukaudet;
	echo "<table border width=210><tr><td>";
	echo "<center>".$vuosi." - ".$kuukaudet[$kuukausi-1]."</center>";
	echo "</td></tr><tr>";
	echo "<table border width=210>";
	for ($i=0;$i<5;$i++)
		{
		echo "<tr>";
		for ($j=0;$j<7;$j++)
			{
			$paiva="&nbsp;";
			if ($alku<>0)
				{
				$alku++;
				if ($alku>intval(date("t",mktime(0,0,0,$kuukausi,1,$vuosi))))
					{
					$loppu=1;
					}
				else
					{
					$paiva=$alku;
					}
				}
			else
				{
				if (intval(date("w",mktime(0,0,0,$kuukausi,1,$vuosi)))==$j+1)
					{
					$paiva="1";
					$alku=1;
					}
				}
			if ($loppu==1){$paiva="&nbsp;";}
			if ($j==6){$paiva="<font color='red'>".$paiva."</font>";}
			if ($alku==intval(date("d")) && $kuukausi==intval(date("m")) && $vuosi==intval(date("Y")))
				{
					echo "<td bgcolor='blue'>".$paiva."</td>";
				}
			else
				{
					echo "<td>".$paiva."</td>";
				}
			}
		echo "</tr>";
		}
	echo "</table>";
	echo "</tr></td></table>";
	}

//kalenterin näyttäminen, ensimmäinen parametri vuosi, toinen kuukausi
luokalenteri(intval(date("Y")),intval(date("n")));
?>
</body></html>

Antti Laaksonen [08.05.2002 16:24:16]

#

Äh, sisennykset katosivat!

bugihaukka [01.08.2002 09:05:55]

#

Mitäpä sitten kun tulee syyskuu ;)
Viisi riviä päiviä ei riitä...

Antti Laaksonen [01.08.2002 10:32:28]

#

Ei tullut testattua niin pitkälle...:)

bugihaukka [02.08.2002 11:15:56]

#

Juu aloin tosta kehitellä eteenpäin ja törmäsin tollaseen. No taitaa tää syyskuu olla aika poikkeus, näkyy muuallakin kalenterit tekevän jotain kepposia :)

mikko [22.08.2002 18:06:53]

#

Äkkiseltään silmäiltynä aika monimutkainen.... joten tein tämän.

<?
$kuukausinyt = array(Epäkuu, Tammikuu, Helmikuu, Maaliskuu, Huhtikuu, Toukokuu, Kesäkuu, Heinäkuu, Elokuu, Syyskuu, Lokakuu, Marraskuu, Joulukuu);
$ensimmainen = date("w", mktime(0,0,0,date("n"),1,date("Y")));
$kuukaudessa = date("t");

if ($ensimmainen == 0) { $ensimmainen = 7; }
$viikkoja = (($ensimmainen+$kuukaudessa-1)/7);

$kuu = $kuukausinyt[date("n")];
$vuosi = date("Y");

echo "<PRE><FONT SIZE='-1'><B>$kuu $vuosi</B>\n";
echo "Ma Ti Ke To Pe La Su\n";

$k=1;
for ($i=0; $i<$viikkoja; $i++)
	{
	for ($j=1; $j<=7; $j++)
		{
		if ($j<$ensimmainen && $i < 1) { echo "  "; }
		else if ($k <= $kuukaudessa)
			{
			if ($k == date("j"))
				{
				if($k<10) { echo "<FONT COLOR='Red'>$k</FONT> "; $k++; }
				else { echo "<FONT COLOR='Red'>$k</FONT>"; $k++; }
				}
			else
				{
				if($k<10) { echo "$k "; $k++; }
				else { echo "$k"; $k++; }
				}
			}
		else { echo "  "; }
		if ($j!=7) { echo " "; }
		}
	echo "\n";
	}

echo "</FONT></PRE>";
?>

makeuu [22.10.2003 22:38:54]

#

Joo, noniin, ahaaa, tässähän olikin hyvä vinkki ^_^ helppo asentaa ja muunnella.... ihan upeeta!

kafka [10.02.2005 01:18:06]

#

Ihan kätevä. :)
Tässä on minun GD kalenterini:
(Anteeksi sotkuinen koodi)

<?php
###########################
# PHP KALENTERI           #
# by:                     #
# DrKafka                 #
###########################

header("Content-type: image/png");
$kuva = imagecreate(147,150);
$valkoinen = imagecolorallocate($kuva, 255, 255, 255);
$musta = imagecolorallocate($kuva,0,0,0);
$sininen = imagecolorallocate($kuva,0,0,255);
$tummvihr = imagecolorallocate($kuva,0,128,0);
imagerectangle($kuva, 0,0,147-1,150-1, $musta);
$alkux = 3;
$x = $alkux;
$y = 20;
$ii = 0;
$max = 7;
$iii = 0;
päiviä
$m = date("m");
if($m == 01){$lop = 31; $mo = 'Tammikuu';}
elseif($m == 02){$lop = 29; $mo = 'Helmikuu';}
elseif($m == 03){$lop = 31; $mo = 'Maaliskuu';}
elseif($m == 04){$lop = 30; $mo = 'Huhtikuu';}
elseif($m == 05){$lop = 31; $mo = 'Toukokuu';}
elseif($m == 06){$lop = 30; $mo = 'Kesäkuu';}
elseif($m == 07){$lop = 31; $mo = 'Heinäkuu';}
elseif($m == 08){$lop = 31; $mo = 'Elokuu';}
elseif($m == 09){$lop = 30; $mo = 'Syyskuu';}
elseif($m == 10){$lop = 31; $mo = 'Lokakuu';}
elseif($m == 11){$lop = 30; $mo = 'Marraskuu';}
elseif($m == 12){$lop = 31; $mo = 'Joulukuu';}
$d = date("d");
$moalk = JDDayOfWeek(unixtojd(mktime(0,0,0,date("m"),1,date("Y"))-1),0);
imagestring($kuva, 3, 3, 1, $mo, $musta);
$x = $alkux + $moalk * 20;
$maxx = 140;
for($i = $moalk; $i < $lop+$moalk; $i++)
{
	$ii++;
	$iii++;
	if($d == $iii)
	{
		imagerectangle($kuva, $x, $y, $x+20, $y+20, $musta); imagefill($kuva, $x+1, $y+1, $tummvihr);
	} else {
		imagerectangle($kuva, $x, $y, $x+20, $y+20, $musta);
	}

	$x = $x+20;

	if($d == $iii)
	{
		imagestring($kuva, 2, $x-15, $y+3, $iii, $valkoinen);
	} else {
		imagestring($kuva, 2, $x-15, $y+3, $iii, $sininen);
	}

	if($x > $maxx-1){$y=$y+20; $x=$alkux;$ii = 0;}
}
imagestring($kuva, 2, 9, 130, date("H:i:s :: d.m.Y"), $musta);
imagepng($kuva);
?>

mauku [09.02.2007 22:43:03]

#

ihan hyvä kafka, mutta olet unohtanut riviltä 21 ilmeisesti
kommentoinnin
(päiviä => //päiviä)

Olli [12.10.2008 09:06:18]

#

Demo Antin kalenteriin löytyy täältä:
http://koti.mbnet.fi/ollins/muuta/testi/kalenteri.php

Demo DrKafkan kuvakalenteriin löytyy täältä:
http://koti.mbnet.fi/ollins/muuta/testi/kuvakalenteri.php


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta