Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 42 ] Choď na stránku: predchádzajúca 1, 2
AutorSpráva
Offline

Užívateľ
Užívateľ
Správne nastavenie dátumu. Kalendár na webe

Registrovaný: 31.08.07
Prihlásený: 27.03.15
Príspevky: 1800
Témy: 153
Bydlisko: Komárno
Príspevok Napísal autor témyOffline : 09.01.2009 12:10

stenley>>> diki za rad. aka dronost kvoli ktorej nechce isť cely script :D :D

max-m >>>skus si tak ako ja zmeniť
Kód:
<form action="./kalendar.php" method="post">

na kód:
Kód:
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">







_________________
Nehľadaj štastie vonku, ale v sebe, lebo inak ho nikdy nenajdeš.
Nechajte mi právo na vlastné omyly, na možnosť zvoliť si čo mám rád, chcem ísť vlastnou cestou, nie tou vami vyšliapanou, na ktorej by som stratil vlastnú tvar. (Metallica)
Všetko má svoju krásu, ale nie každý ju vidí.
život je krásny, len sa ho nesmieš báť, dnes plačeš, zajtra sa budeš smiať.
Učíme sa aby sme veciam rozumeli a mohli ich milovať
Offline

Užívateľ
Užívateľ
Správne nastavenie dátumu. Kalendár na webe

Registrovaný: 16.01.08
Prihlásený: 27.03.13
Príspevky: 641
Témy: 144
Bydlisko: Žilina
Príspevok NapísalOffline : 09.01.2009 12:41

som to teda skusil zmenit a nic.

Tu je moj kompletny kod po zmene:

Kód:
<?php
 print_r($_POST);
?>
<html>
<head>
 <title>Test kalendar</title>
</head>
<body>
<?php
    $den_dnes = date('j');
    $mesiac_dnes = date('n');
    $rok_dnes = date('Y');

    // prevzatie udajov z POST
    $mesiac = $mesiac_dnes;
    if (!empty($_POST['mesiac'])) $mesiac = abs(intval($_POST['mesiac']));
    if ($mesiac < 1 || $mesiac > 12) $mesiac = $mesiac_dnes;

    $rok = $rok_dnes;
    if (!empty($_POST['rok'])) $rok = abs(intval($_POST['rok']));
    if ($rok < 1970 || $rok > 2038) $rok = $rok_dnes;
?>
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
        <label>mesiac: <select name="mesiac" onchange="this.form.submit();">
<?php
    for ($i = 1; $i < 13; $i++) {
        echo '            <option value="'.$i.'"';
        if ($mesiac == $i) echo ' selected="selected"';
        echo '>'.$i.'</option>'."\r\n";
    }
?>
            </select>
        </label>
        <label>rok: <select name="rok" onchange="this.form.submit();">
<?php
    for ($i = 1970; $i < 2039; $i++) {
        echo '            <option value="'.$i.'"';
        if ($rok == $i) echo ' selected="selected"';
        echo '>'.$i.'</option>'."\r\n";
    }
?>
            </select>
        </label>
        <button type="submit">Ok</button>
    </form>
<?php
$datum = mktime(1, 1, 2009, $mesiac, 1, $rok); // timestamp pre aktualne nastaveny datum
$prvy_den = date('4', $datum) - 1; // v ktorom dni zacina prvy den v mesiaci 0-6
$pocet_dni = date('31', $datum); // pocet dni v danom mesiaci
?>
<table>
<tr><th>Po</th><th>Út</th><th>St</th><th>Št</th><th>Pi</th><th>So</th><th>Ne</th></tr>
<?php
$a = 1;
for ($i = 0; $i < $pocet_dni + $prvy_den; $i++) {
if ($a == 1) echo ' <tr>';
if ($i < $prvy_den) {
echo '<td></td>'; // pociatocne prazdne bunky v tabulke
} else {
$b = $i - $prvy_den + 1;
if ($b == $den_dnes) {
echo '<td><b>'.$b.'</b></td>'; // zvyraznenie dna dnesneho datumu
} else {
echo '<td>'.$b.'</td>';
}
}
// ukoncenie riadka tabulky
if ($a == 7 || $i == ($pocet_dni + $prvy_den - 1)) echo '</tr>'."\r\n";

$a++;
if ($a > 7) $a = 1;
}
?>
</table>
</body>
</html>







_________________
Mac Book Pro 15.4", CPU: Intel Core 2 Duo 2.8 GHz, RAM: 4GB DDR3, HDD: 500 GB, VGA: 512MB GDDR3, OS: Mac OS X Lion; Mobil: HTC ONE S
Offline

Správca fóra
Správca fóra
Správne nastavenie dátumu. Kalendár na webe

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 09.01.2009 12:43

toto je cele zle, preto ti to nejde:
Kód:
$prvy_den = date('4', $datum) - 1; // v ktorom dni zacina prvy den v mesiaci 0-6
$pocet_dni = date('31', $datum); // pocet dni v danom mesiaci

narychlo som spravil jeden kalendar, mozes skusit, ci ti pojde aspon tento :)
Kód:
<?php
function getWeekDays() {
   global $arrDays;
   $ret = '<tr>';
   foreach($arrDays as $day) {
      $ret .= '<th>'.$day.'</th>';
   }
   $ret .= '</tr>';
   return $ret;
}

function getMonths($month) {
   global $arrMonths;
   $ret = '';
   foreach($arrMonths as $key => $monthName) {
      $sel = $key==$month ? ' selected="selected"' : '';
      $ret .= '<option value="'.$key.'"'.$sel.'>'.$monthName.'</option>';
   }   
   return $ret;
}

function getYears($year) {
   $ret = '';
   for($i=MIN_YEAR; $i<=MAX_YEAR; $i++) {
      $sel = $i==$year ? ' selected="selected"' : '';
      $ret .= '<option value="'.$i.'"'.$sel.'>'.$i.'</option>';
   }
   return $ret;
}

function createCalendar() {
   global $day, $startWeekDay, $monthDays;
   
   $ret = '<table>';
   $ret .= getWeekDays();
   
   $end = ceil(($monthDays+$startWeekDay-1)/7)*7;
   
   for($i=$dayNum=1; $i<=$end; $i++) {
      $ret .= ($i-1)%7==0 ? '<tr>' : '';
      
      if($i<$startWeekDay || $dayNum>$monthDays) {
         $ret .= '<td>&nbsp;</td>';
      } else {
         $ret .= '<td>'.($day==$dayNum ? '<strong>'.$dayNum.'</strong>' : $dayNum).'</td>';
         $dayNum++;
      }
      $ret .= $i%7==0 ? '</tr>' : '';
   }
   
   $ret .= '</table>';
   return $ret;
}

define("MIN_YEAR", 1970);
define("MAX_YEAR", 2038);

$arrDays = array("Po", "Ut", "St", "St", "Pi", "So", "Ne");
$arrMonths = array(1=>"Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec");

$day = date("j");
$month = date("n");
$year = date("Y");

if(!empty($_POST['month'])) {
   if($_POST['month']>=1 && $_POST['month']<=12) {
      $month = intval($_POST['month']);
   }
}

if(!empty($_POST['year'])) {
   if($_POST['year']>=MIN_YEAR && $_POST['year']<=MAX_YEAR) {
      $year = intval($_POST['year']);
   }
}

$timestamp = mktime(0, 0, 0, $month, 1, $year);
$startWeekDay = date("w",$timestamp);
$startWeekDay = $startWeekDay==0 ? 7 : $startWeekDay;   //1-7 (Po-Ne)
$monthDays = date("t",$timestamp);
?>
<form method="post" action="">
<label for="month">Mesiac:</label>
<select name="month" id="month" onchange="this.form.submit();"><?php echo getMonths($month); ?></select>
<label for="year">Rok:</label>
<select name="year" id="year" onchange="this.form.submit();"><?php echo getYears($year); ?></select>
<input type="submit" name="send" value="OK">
</form>
<?php echo createCalendar(); ?>







_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Užívateľ
Užívateľ
Správne nastavenie dátumu. Kalendár na webe

Registrovaný: 16.01.08
Prihlásený: 27.03.13
Príspevky: 641
Témy: 144
Bydlisko: Žilina
Príspevok NapísalOffline : 09.01.2009 12:52

PERFEKTNE :clap:

//edit:
som si pozrel dokladnejsie ten tvoj kod a v podstate vsetkemu chapem az na jednu drobnost:

Citácia:
$i%7==0


naco je tam to % ?


DIK.







_________________
Mac Book Pro 15.4", CPU: Intel Core 2 Duo 2.8 GHz, RAM: 4GB DDR3, HDD: 500 GB, VGA: 512MB GDDR3, OS: Mac OS X Lion; Mobil: HTC ONE S
Offline

Čestný člen
Čestný člen
Správne nastavenie dátumu. Kalendár na webe

Registrovaný: 17.10.06
Prihlásený: 08.01.11
Príspevky: 1752
Témy: 17
Príspevok NapísalOffline : 09.01.2009 13:07

zvysok po deleni







_________________
A Real Programmer might or might not know his wife's name. He does, however, know the entire ASCII code table.
Offline

Užívateľ
Užívateľ
Správne nastavenie dátumu. Kalendár na webe

Registrovaný: 16.01.08
Prihlásený: 27.03.13
Príspevky: 641
Témy: 144
Bydlisko: Žilina
Príspevok NapísalOffline : 09.01.2009 13:08

takze ked je to v podmienke:

ak vydelim $i sedmickou a zvysok po deleni je 0 tak...

Pochopil som to spravne?

//edit:
a este jedna drobnost:

Citácia:
$ret .= $i%7==0 ? '</tr>' : '';


aku funkciu tam ma otaznik?

DIK.







_________________
Mac Book Pro 15.4", CPU: Intel Core 2 Duo 2.8 GHz, RAM: 4GB DDR3, HDD: 500 GB, VGA: 512MB GDDR3, OS: Mac OS X Lion; Mobil: HTC ONE S
Offline

Čestný člen
Čestný člen
Správne nastavenie dátumu. Kalendár na webe

Registrovaný: 17.10.06
Prihlásený: 08.01.11
Príspevky: 1752
Témy: 17
Príspevok NapísalOffline : 09.01.2009 13:24

to mas podmieneny vyraz. ak je zvysok po deleni siedmimi 0 tak sa priradi to co je za otaznikom, inak to co je za dvojbodkou.







_________________
A Real Programmer might or might not know his wife's name. He does, however, know the entire ASCII code table.
Offline

Užívateľ
Užívateľ
Správne nastavenie dátumu. Kalendár na webe

Registrovaný: 16.01.08
Prihlásený: 27.03.13
Príspevky: 641
Témy: 144
Bydlisko: Žilina
Príspevok NapísalOffline : 09.01.2009 13:52

tak uz je to vsetko jasne :)


DIK.







_________________
Mac Book Pro 15.4", CPU: Intel Core 2 Duo 2.8 GHz, RAM: 4GB DDR3, HDD: 500 GB, VGA: 512MB GDDR3, OS: Mac OS X Lion; Mobil: HTC ONE S
Offline

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

Registrovaný: 19.08.09
Prihlásený: 15.07.14
Príspevky: 16
Témy: 4
Príspevok NapísalOffline : 19.08.2009 13:57

zdravim, upravil som si tento kalendar, ale chcel by som este k jednotlivym dnom dohodit odkazy (tak aby sa po kliknuti na urcity den otvorila stranka s udalostami v danom dni), vedel by mi niekto aspon naznacit ako to urobit?



stenley píše:
narychlo som spravil jeden kalendar, mozes skusit, ci ti pojde aspon tento :)
Kód:
<?php
function getWeekDays() {
   global $arrDays;
   $ret = '<tr>';
   foreach($arrDays as $day) {
      $ret .= '<th>'.$day.'</th>';
   }
   $ret .= '</tr>';
   return $ret;
}

function getMonths($month) {
   global $arrMonths;
   $ret = '';
   foreach($arrMonths as $key => $monthName) {
      $sel = $key==$month ? ' selected="selected"' : '';
      $ret .= '<option value="'.$key.'"'.$sel.'>'.$monthName.'</option>';
   }   
   return $ret;
}

function getYears($year) {
   $ret = '';
   for($i=MIN_YEAR; $i<=MAX_YEAR; $i++) {
      $sel = $i==$year ? ' selected="selected"' : '';
      $ret .= '<option value="'.$i.'"'.$sel.'>'.$i.'</option>';
   }
   return $ret;
}

function createCalendar() {
   global $day, $startWeekDay, $monthDays;
   
   $ret = '<table>';
   $ret .= getWeekDays();
   
   $end = ceil(($monthDays+$startWeekDay-1)/7)*7;
   
   for($i=$dayNum=1; $i<=$end; $i++) {
      $ret .= ($i-1)%7==0 ? '<tr>' : '';
      
      if($i<$startWeekDay || $dayNum>$monthDays) {
         $ret .= '<td>&nbsp;</td>';
      } else {
         $ret .= '<td>'.($day==$dayNum ? '<strong>'.$dayNum.'</strong>' : $dayNum).'</td>';
         $dayNum++;
      }
      $ret .= $i%7==0 ? '</tr>' : '';
   }
   
   $ret .= '</table>';
   return $ret;
}

define("MIN_YEAR", 1970);
define("MAX_YEAR", 2038);

$arrDays = array("Po", "Ut", "St", "St", "Pi", "So", "Ne");
$arrMonths = array(1=>"Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec");

$day = date("j");
$month = date("n");
$year = date("Y");

if(!empty($_POST['month'])) {
   if($_POST['month']>=1 && $_POST['month']<=12) {
      $month = intval($_POST['month']);
   }
}

if(!empty($_POST['year'])) {
   if($_POST['year']>=MIN_YEAR && $_POST['year']<=MAX_YEAR) {
      $year = intval($_POST['year']);
   }
}

$timestamp = mktime(0, 0, 0, $month, 1, $year);
$startWeekDay = date("w",$timestamp);
$startWeekDay = $startWeekDay==0 ? 7 : $startWeekDay;   //1-7 (Po-Ne)
$monthDays = date("t",$timestamp);
?>
<form method="post" action="">
<label for="month">Mesiac:</label>
<select name="month" id="month" onchange="this.form.submit();"><?php echo getMonths($month); ?></select>
<label for="year">Rok:</label>
<select name="year" id="year" onchange="this.form.submit();"><?php echo getYears($year); ?></select>
<input type="submit" name="send" value="OK">
</form>
<?php echo createCalendar(); ?>


Offline

Správca fóra
Správca fóra
Správne nastavenie dátumu. Kalendár na webe

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 19.08.2009 14:49

zalezi od toho, ako to chces spravit... ci chces mat ku kazdemu dnu odkaz aj ked k nemu nie je priradena ziadna udalost alebo by sa odkaz zobrazil len v pripade, ze existuje nejaka udalost na dany den...

odkaz mozes pridat do tohto riadku:
Kód:
$ret .= '<td>'.($day==$dayNum ? '<strong>'.$dayNum.'</strong>' : $dayNum).'</td>';







_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

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

Registrovaný: 19.08.09
Prihlásený: 15.07.14
Príspevky: 16
Témy: 4
Príspevok NapísalOffline : 19.08.2009 14:59

rozmyslal som nad tym, ze len zvyraznit dni, kde bude nejaky odkaz ale to mi pride asi narocnejsie, myslim, ze to vyriesim tak, ze odkaz dam ku kazdemu dnu a ked prejdem mysou na den, tak sa mi zobrazi popis ci je tam nejaka udalost alebo nie....
vdaka za pomoc!!!


Offline

Správca fóra
Správca fóra
Správne nastavenie dátumu. Kalendár na webe

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 19.08.2009 15:28

narocnejsie to nebude, jednoducho si vytvoris 1(2)-rozmerne pole, kde budes ukladat udalosti podla mesiaca a dna, pripadne aj podla roku... v cykle pre vypis dni potom len skontrolujes, ci v poli udalosti existuje zvoleny rok, mesiac, den a vypises to napr. do title, pripadne cez js si spravis bublinku... moznosti je vela...







_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Odpovedať na tému [ Príspevkov: 42 ] Choď na stránku: predchádzajúca 1, 2


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. zmena obrazku na webe podla datumu

v PHP, ASP

2

519

17.10.2008 17:13

dulius Zobrazenie posledných príspevkov

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

v PHP, ASP

11

986

14.02.2007 14:34

kmsa Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Prepojenie Routrou správne nastavenie

v Poskytovatelia internetu

3

398

26.01.2017 18:28

4040 Zobrazenie posledných príspevkov

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

v Šport a pohyb

6

6630

28.12.2014 15:33

phau Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. spravne nastavenie jasu/ziarivosti monitora

v Monitory, televízory a projektory

0

600

02.10.2011 18:52

giuseppe Zobrazenie posledných príspevkov

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

v Chladiče a všetky druhy chladenia

2

579

20.01.2017 15:47

expresado Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Správne nastavenie friendly URL , htaccess

v PHP, ASP

0

802

16.02.2016 17:22

kajbo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. AMD Athlon XP 2500+ nastavenie biosu je spravne?

v Biosy a ladenie výkonu

1

703

02.05.2010 19:58

shiro Zobrazenie posledných príspevkov

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

v Databázy

3

421

16.08.2013 14:47

stenley Zobrazenie posledných príspevkov

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

v PHP, ASP

8

502

15.01.2009 15:48

Tominator Zobrazenie posledných príspevkov

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

v PHP, ASP

9

714

09.03.2010 16:46

stenley Zobrazenie posledných príspevkov

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

v HTML, XHTML, XML, CSS

0

603

24.02.2009 9:53

mattanyah Zobrazenie posledných príspevkov

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

v Ostatné programy

2

527

01.07.2011 21:58

Mego Zobrazenie posledných príspevkov

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

v HTML, XHTML, XML, CSS

6

754

26.11.2008 12:05

walther Zobrazenie posledných príspevkov

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

v HTML, XHTML, XML, CSS

1

720

07.09.2008 18:32

pepek92 Zobrazenie posledných príspevkov

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

v JavaScript, VBScript, Ajax

0

545

23.04.2010 12:48

jtomcik 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