Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!
Zadejte Vaši e-mailovou adresu:
Kamarád fotí rád?
Přihlas ho k odběru fotomagazínu!
Zadejte e-mailovou adresu kamaráda:
PHP
Kdo má dnes svátek?
4. června 2000, 00.00 | Jednoduchý php skript pro zobrazení data, aktuálního času a svátku.
Informace o aktuálním čase, datu a svátku jsou velmi vítaným zpestřením mnoha webových stránek.
Výpis může vypadat například následovně:
-
Úterý, 23. května 2000 17:18:57 Svátek má Vladimír, Zítra Jana
Datum a čas lehce provedete pomocí javascriptu. Svátek sice také, ale zbytečně zatěžujete klienta přenášením dat..
Dnes si ukážeme jak na to pomocí php skriptu.
Základem je databáze svátků, popřípadě svátky přímo uloženy v proměnné. Samotný skript je pak velmi jednoduchý, jde pouze o použití několika funkcí na práci s časem.
Uveřejněný skript může pracovat jak s sql databází (nutno odkomentovat první funkci a druhou naopak zakomentovat), či bez podpory databáze (druhá funkce). Verze bez db je ale teoreticky pomalejší a náročnější na paměť.
'xxxx'*/
"ledna",
"února",
"března",
"dubna",
"května",
"června",
"července",
"srpena",
"září",
"října",
"listopadu",
"prosince");
$den=array(
"Neděle",
"Pondělí",
"Úterý",
"Středa",
"Čtvrtek",
"Pátek",
"Sobota");
/* mysql verze */
/*
function getSvatek($yday)
{
global $svatek_dnes, $svatek_zitra;
// spojeni zrejme provedeme jiz drive,
// ale v tomto ukazkovem pripade se nam to hodi prave zde/
mysql_connect() or die(mysql_error());
mysql_select_db("svatky") or die(mysql_error());
// konec spojeni
$yday2=$yday%366+1;
$res=mysql_query("SELECT uid, svatek FROM svatky WHERE
uid=$yday OR uid=$yday2") or die(mysql_error());
$num=mysql_num_rows($res);
// zpracujeme data
for($i=0; $i<$num; $i++)
{
$uid=mysql_result($res,$i,0);
$svatek=mysql_result($res,$i,1);
if($uid==$yday) $svatek_dnes=$svatek; else $svatek_zitra=$svatek;
}
// ukoncime spojeni. Opet, je-li script soucasti
// neceho vetsiho provedeme az na konci
mysql_close();
}
*/
/* ciste php */
include("svatky.inc.php");
function getSvatek($yday)
{
global $svatky,$svatek_dnes, $svatek_zitra;
$svatek_dnes=$svatky[$yday];
$svatek_zitra=$svatky[$yday%366+1];
}
function pday()
{
global $den, $mesic, $svatek_dnes, $svatek_zitra;
$d=getdate();
$y=$d["year"]; //jaky mame rok
$dnes=$den[$d["wday"]]; //jaky mame den v tydnu
$dden=$d["mday"]; // den v mesici
$dmes=$mesic[$d["mon"]]; // mesic, jmeno
$drok=$d["year"]; //rok
$hod=sprintf("%02d",$d["hours"]); //hodina
$min=sprintf("%02d",$d["minutes"]); //minuta, na dve desetina mista
$sec=sprintf("%02d",$d["seconds"]); // sekundy, dtto
getSvatek($d["yday"]+1); // naplnime datovou strukturu
echo "$dnes, $dden. $dmes $drok $hod:$min:$sec
Svátek má $svatek_dnes, Zítra $svatek_zitra
";
}
pday();
?>
Download
svatek.php
svatky.inc.php
svatky.sql
-
25. listopadu 2012
-
30. srpna 2002
-
10. října 2002
-
4. listopadu 2002
-
12. září 2002
-
25. listopadu 2012
-
28. července 1998
-
31. července 1998
-
28. srpna 1998
-
6. prosince 2000
-
27. prosince 2007
-
4. května 2007