[ 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 | 5
NapísalOffline : 15.08.2009 15:52 | Rada ku PHP kalendáru...

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 | 90
Bydlisko: Slovakia-Ko...
NapísalOffline : 15.08.2009 19:24 | Rada ku PHP kalendáru...

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 | 5
Napísal autor témyOffline : 15.08.2009 19:34 | Rada ku PHP kalendáru...

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...


 [ Príspevkov: 3 ] 


Rada ku PHP kalendáru...



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

1371

02.05.2011 12:08

magicmedia

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

Vytvorenie suboru php a vlozenie php scriptu

v PHP, ASP

4

1487

07.05.2010 14:02

DeiForm

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

PHP nevie precitat .PHP

v PHP, ASP

8

881

18.03.2011 19:21

camo

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

php ->mysql ->php Help.zoradit

v PHP, ASP

4

668

20.06.2009 12:44

KViki

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

2886

20.05.2022 13:51

JanoF

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

raDa

v Pamäte

4

942

28.09.2008 12:21

Jaro

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

rada

v Notebooky a netbooky

1

586

03.06.2010 21:52

ac.milan

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

rada

v HTML, XHTML, XML, CSS

13

1099

03.05.2008 23:04

soram

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

Rada

v Grafické programy

7

1021

25.03.2008 13:12

Fabi

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

rada

v Ostatné grafické karty

6

1158

30.07.2008 15:44

pukepulos

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

rada

v Notebooky a netbooky

1

465

23.09.2014 15:50

nescafe

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

RADA

v Počítačové hry

2

662

09.03.2009 14:10

maestro121

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

rada

v Notebooky a netbooky

1

725

07.09.2008 16:15

GICaesar

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

2006

24.02.2009 21:48

patolog7

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

rada

v Procesory

7

925

25.10.2008 19:27

Palinhoo

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

Rada

v Operačné systémy Unix a Linux

15

1549

26.09.2008 22:30

shiro



© 2005 - 2025 PCforum, edited by JanoF