Kalendář – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Kalendář – PHP – Fórum – Programujte.comKalendář – PHP – Fórum – Programujte.com

 

Dominik0
Super člen
16. 6. 2007   #1
-
0
-

Zdravim mám problé s kalendářem !!! tady je kód



<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<?

function kalendar($mesic){
$k=1;
//k vynulovaní pole----------------------------------------------------------------------------------------------------
for($i=1;$i<=6;$i++){
for($j=1;$j<=7;$j++){
$kalendar[$i][$j]=' ';
}
}
$kolik_dni=date("t",$mesic);
// konec nulovani----------------------------------------------------------------------------------------------------------

$u=date("w",$mesic)+1;
for($i=1;$i<=6;$i++){
for($j=$u;$j<=7;$j++){
if($k<=$kolik_dni){
if($k==date("j",$mesic)){
$kalendar[$i][$j]="<b>".$k."</b>";
}else{
$kalendar[$i][$j]=$k;
}
}
$k++;
}
$u=1;
}
//výpis tabulky kalendare--------------------------------------------------------------------------------
echo "<table>";
echo "<tr><td>Mo </td><td>Tu </td><td>We </td><td>Th </td><td>Fr </td><td>St </td><td>Su </td></tr>";
for($i=1;$i<=6;$i++){
echo "</tr>";
for($j=1;$j<=7;$j++){
echo "<td>".$kalendar[$i][$j]."</td>";
}
echo "</tr>";
}
echo "</table>";
//konec výpisu tabulky kalendare---------------------------------------------------------------------------
}

?>
</head>

<body>
<form method="post">
rok:<select name="rok">
<?
for($i=date("Y");$i<=date("Y")+1;$i++){
echo "<option>$i</option>";
}

?>

</select>
mesic:
<select name="mesic">
<?
for($i=1;$i<=12;$i++){
echo "<option>$i</option>";
}

?>

</select>
<input type="submit" value="zobraz" />
</form>
<?
if(isset($_POST['rok'])){
// a tady si nevim rady-------------------------------------------
$rozdil_rok=(date("Y")-$_POST['rok']);
$rozdil_mesic=($rozdil_rok*12)+(date("n")-$_POST['mesic']);
$mesic=strtotime("+".$rozdil_mesic." month");
}else{
$mesic=strtotime("+1 month");
}
kalendar($mesic);
echo "<hr>";
echo "rok: ".$_POST['rok'];
echo "<br>";
echo "mesic: ".$_POST['mesic'];
?>
</body>
</html>


pro aktualní měsíc mi to funguje jak má ale když tam měnim ten rok a měsíc tak už to tak dobrý neni ! pls Help !!!

Nahlásit jako SPAM
IP: ...–
Ondrej Juríček
~ Moderátor
0
Stálý člen
17. 6. 2007   #2
-
0
-

Nemal som silu lúštiť tvoj kód, ale radšej som na rýchlo napísal svoju verziu (dúfam, že v nej nebude veľa chýb) Kalendára. Keď chceš kukni nato:

http://www.juricek.net/php/kalendar

Nahlásit jako SPAM
IP: ...–
Richard Kaliarik0
Super člen
17. 6. 2007   #3
-
0
-

To OndreJ: na svoju stranku si davas link, co? :)

Nahlásit jako SPAM
IP: ...–
Today was a good day... ICE CUBE
Jan Škrášek
~ Redaktor
+1
Boss
17. 6. 2007   #4
-
0
-

ja pouzivam tento vlastni kod, je take blbu vzdorny... zasilam jen generovani, vypis si napis sam, ten muj by byl prilis slozity protoze vyuziva frameworku a ajaxu...



if($month == null) $month = date('m');
if($year == null) $year = date('Y');

$first_day = mktime(0,0,0,$month,1,$year);
$first_day_num = date('w', $first_day);
$first_day_num = $first_day_num==0?7:$first_day_num;
$days_in_month = date('t', $first_day);
$days_in_prev_month = date('t', strtotime('-1 month', $first_day));

$y = 0;
for($i=1; $i<$first_day_num; $i++) {
$calendar[$i]['num'] = ($days_in_prev_month-$first_day_num+1)+$i;
$calendar[$i]['style'] = 'prev';
}
for($i=0; $i<$days_in_month; $i++) {
$calendar[$first_day_num+$i]['num'] = $i+1;
$calendar[$first_day_num+$i]['style'] = null;
}
for($i=($first_day_num+$days_in_month); $i<=42; $i++) {
$calendar[$i]['num'] = ++$y;
$calendar[$i]['style'] = 'next';
}


jinak dodam, ze v num je ulozeno cislo dne, a ve style, jestli se jedna o mesic aktualni(=null), minuly, nebo pristi...

timto nastavis jeste pro style pro aktualni den


if($month.'/'.$year == date('m/Y'))
$calendar[$first_day_num + date('j', time()) -1]['today'] = true;

Nahlásit jako SPAM
IP: ...–
http://jan.skrasek.com@hrachcz – webdeveloper
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 39 hostů

Podobná vlákna

Kalendar — založil don_Dominique

Kalendár — založil Tomas

Kalendár docklet — založil pETER

Kalendář obsazenosti — založil pecan987

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý