Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 3 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 15.08.09
Prihlásený: 14.12.17
Príspevky: 14
Témy: 5
Príspevok NapísalOffline : 15.08.2009 15:52

Ahojte mám kalendár napísaný v PHP, no potrebujem zmeniť funkciu, aby som si na každý deň v týždni naprogramoval odkaz na nejakú stránku, na ktorú potrebujem... Poraďte prosim. je to súrne..

Tu je zdrojak...

Kód:
<?
define (YEAR_MIN, 1980);
define (YEAR_MAX, 2020);
define (YEAR_EXTENT, 3);

// hodnoty z formulára, prevedieme ich na time formát
if (isset($month) && isset($year))
   $time = mktime (0, 0, 0, $month, 1, $year);

// kontrola začiatku a konca roka
if ($time < mktime (0, 0, 0, 1, 1, YEAR_MIN) || $time > mktime (0, 0, 0, 12, 31, YEAR_MAX))
   $time = time ();
?>
<html>
   <head>
   <title>Kalendár v PHP</title>
   <style type="text/css">
   body {
      font-family: "TIMES NEW ROMAN", "HELVETICA CE","ARIAL","HELVETICA";
      font-size: 18px;
      text-align: center;
      }
   .cell {
      width: 28px;
      height: 28px;
      font-family: "ARIAL CE", "HELVETICA CE","ARIAL","HELVETICA";
      font-size: 12px;
      color: #000;
      }
   </style>
   </head>
<body>
<?
class Ccolor {
   var $wday_txt = "#bbbbdd";
   var $wend_txt = "#ddbbbb";
   var $wday = "#ccccee";
   var $wend = "#eecccc";
   var $wday_noact = "#9090a6";
   var $wend_noact = "#a69090";
   var $today = "#0000ff";
   }

// objekt
$color = new Ccolor ();

class Cdate {
   var $day;
   var $month;
   var $year;

   function Cdate ($time) {
      $this->day = date ("j", $time);
      $this->month = date ("n", $time);
      $this->year = date ("Y", $time);
      }
   }

// objekt
$date = isset ( $time ) ? new Cdate ( $time ) : new Cdate ( time () );

// názvy mesiacov roka - indexované od 1
$m = array (1 => "Január", "Február", "Marec", "Apríl", "Máj", "Jún", "Júl", "August", "September", "Október", "November", "December");

// názvy dní týždňa
$d = array ("Po", "Ut", "St", "Št", "Pi", "So", "Ne");

##############################################################################
// formulár pre výber mesiaca a roka
echo "<form action='index.php'>";

echo "<select name='month'>";   
for ($i=1 ; $i<=count($m) ; $i++)
   echo ($i == $date->month) ? "<option value='$i' selected>$m[$i]" : "<option value='$i'>$m[$i]";
echo "</select>";
   
echo "<select name='year'>";
$i = ($date->year-YEAR_EXTENT < YEAR_MIN) ? YEAR_MIN : $date->year-YEAR_EXTENT;
for ( ; $i<=$date->year+YEAR_EXTENT && $i<=YEAR_MAX; $i++)
   echo ($i == $date->year) ? "<option value='$i' selected>$i" : "<option value='$i'>$i";
echo "</select>";
echo "<input type='submit' value='Ok'>";

echo "</form>";
###############################################################################
// predchádzajúci a nasledujúci mesiac
$time = mktime (0, 0, 0, $date->month - 1, $date->day, $date->year);
echo "<a href='index.php?time=$time'>&lt;&lt;</a>";
echo "<b>  ".$m[$date->month]." $date->year  </b>";
$time = mktime (0, 0, 0, $date->month + 1, $date->day, $date->year);
echo "<a href='index.php?time=$time'>&gt;&gt;</a>";
###############################################################################

// výpis dní v týžni
echo "<table border='0' cellspacing='1' cellpadding='0'>";
echo "<tr align='center' valign='middle'>";
for ($i=0 ; $i<count($d) ; $i++) {
   $bgcolor = ($i < 5) ? $color->wday_txt : $color->wend_txt;
   echo "<td bgcolor='$bgcolor' class='cell'><b>".$d[$i]."</b></td>";
   }
echo "</tr>";

// prvý deň kalendára (pondelok)
// hodnota 0 namiesto parametra $day v mktime vráti posledný deň predchádzajúceho mesiaca
// date ("w") vráti [0-6] (Ne,Po,Ut,..)
$date->day = 1 - date ("w", mktime (0, 0, 0, $date->month, 0, $date->year));

$act_month_end = false;

for (;;) {

   // deň za dňom
   $t = mktime (0, 0, 0, $date->month, $date->day++ , $date->year);
   // číslo mesiaca [1-12]
   $date_n = date ("n", $t);
   // číslo týždňa [0-6] (Ne,Po,Ut,..)
   $date_w = date ("w", $t);

   if ($date_n == $date->month)
      $act_month_end = true;
   
   // prvý pondelok v ďalšom mesiaci - ukonči riadok - koniec cyklu
   if ($act_month_end == true && $date_n != $date->month && $date_w == 1) {
      echo "</tr>";
      break;
      }
   // pondelok - nový riadok
   else if ($date_w == 1)
      echo "<tr align='center'>";

   // predchádzajúci, alebo nasledujúci mesiac
   if ($date_n != $date->month)
      $bgcolor = ($date_w==0 || $date_w==6) ? $color->wend_noact : $color->wday_noact;
   // aktuálny mesiac
   else
      $bgcolor = ($date_w==0 || $date_w==6) ? $color->wend : $color->wday;

   if (date("dmY",$t) == date("dmY"))
      $bgcolor = $color->today;

   $title = date ("j.n. Y", $t);
   echo "<td title='$title' bgcolor='$bgcolor' class='cell'><a href='go.php?time=$t'>".date ("d", $t)."</a></td>";

   // nedeľa - koniec riadku
   if ($date_w == 0)
      echo "</tr>";
   }
echo "</table>";
?>
</body>
</html>


Offline

Užívateľ
Užívateľ
Rada ku PHP kalendáru...

Registrovaný: 26.07.06
Prihlásený: 20.03.16
Príspevky: 1378
Témy: 90
Bydlisko: Slovakia-Ko...
Príspevok NapísalOffline : 15.08.2009 19:24

ked mzoem vediet konkretny pripad kedze teraz si predstavujem:
po odkliknuti hociktoreho dna v monilosti ci v buducnosti mi hodi ine presmerovanie

tj. hociktory den hociktory tyzden v rozmedzi od 1980-2020 mam iny odkaz







_________________
CPU: Intel E7200 momentalne default + freezer 7 pro | MB: Gigabyte GA-P35-DS3 rev. 2.0 F14 | RAM: A-DATA 4x1GB EE Vitesta | VGA: ATI Radeon HD4850 Sapphire Dual Slot | Monitor: BenQ E2200HD+17CTX | HDD: WD 3200AAKS + Maxtor 6Y080M0 80GB SATAII + 120GB ATA Barracuda | PSU: Corsair VX450W | Windows 7 Ultimate Sk | REPRO: Logitech X-210
+
IPhone 3GS JB 3.1.3 (new BR)
múdry sa postara o seba ale ešte múdrejši sa postara aj o druhých
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 15.08.09
Prihlásený: 14.12.17
Príspevky: 14
Témy: 5
Príspevok Napísal autor témyOffline : 15.08.2009 19:34

jj ale len taky den ktory ja budem chciet dat nejaky odkaz na inu stranku vacsinou len soboty a piatky noo sem tam i inokedy... a ked kliknem na ten jednotlivy den tak by to malo ist cez lightbox a do popredia vyhodit nieco co budem chciet ... a riesim este jednu vec a to ze mi to nechce ficat v bocnom paneli na cmsku...


Odpovedať na tému [ Príspevkov: 3 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. PHP programátor - PHP, MySQL, jQuery,X)Html/CSS

v Ponuka práce

0

1304

02.05.2011 12:08

magicmedia Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Vytvorenie suboru php a vlozenie php scriptu

v PHP, ASP

4

1438

07.05.2010 14:02

DeiForm Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. PHP nevie precitat .PHP

v PHP, ASP

8

829

18.03.2011 19:21

camo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. php ->mysql ->php Help.zoradit

v PHP, ASP

4

589

20.06.2009 12:44

KViki Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. $pcforum->getForumActivity('PHP, ASP', 2012)/$pcforum->getForumActivity('PHP, ASP', 2022) - Warning: Division by zero

v PHP, ASP

4

2288

20.05.2022 13:51

JanoF Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Rada

v Operačné systémy Unix a Linux

15

1483

26.09.2008 22:30

shiro Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Rada

v PC zostavy

3

600

07.02.2008 14:42

walther Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. rada

[ Choď na stránku:Choď na stránku: 1, 2 ]

v Grafické karty

35

1861

24.02.2009 21:48

patolog7 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. rada

v Notebooky a netbooky

2

704

20.04.2008 12:20

qwer0 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Rada

v Notebooky a netbooky

4

754

18.09.2009 18:06

client33 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. raDa

v Pamäte

4

875

28.09.2008 12:21

Jaro Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. rada

v PC zostavy

12

700

28.11.2008 19:55

septerr Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. rada

v HTML, XHTML, XML, CSS

13

1020

03.05.2008 23:04

soram Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Rada

v Biosy a ladenie výkonu

2

649

29.12.2008 22:03

A2C Zobrazenie posledných príspevkov

Táto téma je zamknutá, nemôžete posielať nové príspevky alebo odpovedať na staršie. rada

v Notebooky a netbooky

1

523

03.06.2010 21:52

ac.milan Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Rada

v Grafické programy

7

966

25.03.2008 13:12

Fabi Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra