Stránka: 2 z 2
| [ Príspevkov: 42 ] | 1, 2 |
Autor | Správa |
---|
Registrovaný: 31.08.07 Prihlásený: 27.03.15 Príspevky: 1800 Témy: 153 | 153 Bydlisko: Komárno |
stenley>>> diki za rad. aka dronost kvoli ktorej nechce isť cely script
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ť |
|
Registrovaný: 16.01.08 Prihlásený: 27.03.13 Príspevky: 641 Témy: 144 | 144 Bydlisko: Žilina |
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 |
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 | 51 Bydlisko: Bratislava |
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 ![:)](https://www.pcforum.sk/images/smilies/smile02.gif) 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> </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 |
|
Registrovaný: 16.01.08 Prihlásený: 27.03.13 Príspevky: 641 Témy: 144 | 144 Bydlisko: Žilina |
PERFEKTNE
//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 |
|
Registrovaný: 17.10.06 Prihlásený: 08.01.11 Príspevky: 1752 Témy: 17 | 17 |
zvysok po deleni
_________________ A Real Programmer might or might not know his wife's name. He does, however, know the entire ASCII code table. |
|
Registrovaný: 16.01.08 Prihlásený: 27.03.13 Príspevky: 641 Témy: 144 | 144 Bydlisko: Žilina |
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 |
|
Registrovaný: 17.10.06 Prihlásený: 08.01.11 Príspevky: 1752 Témy: 17 | 17 |
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. |
|
Registrovaný: 16.01.08 Prihlásený: 27.03.13 Príspevky: 641 Témy: 144 | 144 Bydlisko: Žilina |
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 |
|
Registrovaný: 19.08.09 Prihlásený: 15.07.14 Príspevky: 16 Témy: 4 | 4 |
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 ![:)](https://www.pcforum.sk/images/smilies/smile02.gif) 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> </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(); ?>
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 | 51 Bydlisko: Bratislava |
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 |
|
Registrovaný: 19.08.09 Prihlásený: 15.07.14 Príspevky: 16 Témy: 4 | 4 |
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!!!
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 | 51 Bydlisko: Bratislava |
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 |
|
Stránka: 2 z 2
| [ Príspevkov: 42 ] | 1, 2 |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
![V tomto fóre nie sú ďalšie neprečítané témy. V tomto fóre nie sú ďalšie neprečítané témy.](https://www.pcforum.sk/styles/white/imageset/topic_read.gif) | v PHP, ASP | 2 | 559 | 17.10.2008 17:13 dulius | ![V tomto fóre nie sú ďalšie neprečítané témy. V tomto fóre nie sú ďalšie neprečítané témy.](https://www.pcforum.sk/styles/white/imageset/topic_read_hot.gif) | v PHP, ASP | 11 | 1027 | 14.02.2007 14:34 kmsa | ![V tomto fóre nie sú ďalšie neprečítané témy. V tomto fóre nie sú ďalšie neprečítané témy.](https://www.pcforum.sk/styles/white/imageset/topic_read.gif) | v Poskytovatelia internetu | 3 | 443 | 26.01.2017 18:28 4040 | ![V tomto fóre nie sú ďalšie neprečítané témy. V tomto fóre nie sú ďalšie neprečítané témy.](https://www.pcforum.sk/styles/white/imageset/topic_read.gif) | v Šport a pohyb | 6 | 6945 | 28.12.2014 15:33 phau | ![V tomto fóre nie sú ďalšie neprečítané témy. V tomto fóre nie sú ďalšie neprečítané témy.](https://www.pcforum.sk/styles/white/imageset/topic_read.gif) | v Chladiče a všetky druhy chladenia | 2 | 641 | 20.01.2017 15:47 expresado | ![V tomto fóre nie sú ďalšie neprečítané témy. V tomto fóre nie sú ďalšie neprečítané témy.](https://www.pcforum.sk/styles/white/imageset/topic_read.gif) | v Monitory, televízory a projektory | 0 | 650 | 02.10.2011 18:52 giuseppe | ![V tomto fóre nie sú ďalšie neprečítané témy. V tomto fóre nie sú ďalšie neprečítané témy.](https://www.pcforum.sk/styles/white/imageset/topic_read.gif) | v PHP, ASP | 0 | 1095 | 16.02.2016 17:22 kajbo | ![V tomto fóre nie sú ďalšie neprečítané témy. V tomto fóre nie sú ďalšie neprečítané témy.](https://www.pcforum.sk/styles/white/imageset/topic_read.gif) | v Biosy a ladenie výkonu | 1 | 759 | 02.05.2010 19:58 shiro | ![V tomto fóre nie sú ďalšie neprečítané témy. V tomto fóre nie sú ďalšie neprečítané témy.](https://www.pcforum.sk/styles/white/imageset/topic_read_hot.gif) | v PHP, ASP | 9 | 774 | 09.03.2010 16:46 stenley | ![V tomto fóre nie sú ďalšie neprečítané témy. V tomto fóre nie sú ďalšie neprečítané témy.](https://www.pcforum.sk/styles/white/imageset/topic_read.gif) | v Databázy | 3 | 474 | 16.08.2013 14:47 stenley | ![V tomto fóre nie sú ďalšie neprečítané témy. V tomto fóre nie sú ďalšie neprečítané témy.](https://www.pcforum.sk/styles/white/imageset/topic_read.gif) | v PHP, ASP | 8 | 556 | 15.01.2009 15:48 Tominator | ![V tomto fóre nie sú ďalšie neprečítané témy. V tomto fóre nie sú ďalšie neprečítané témy.](https://www.pcforum.sk/styles/white/imageset/topic_read.gif) | v JavaScript, VBScript, Ajax | 0 | 584 | 23.04.2010 12:48 jtomcik | ![V tomto fóre nie sú ďalšie neprečítané témy. V tomto fóre nie sú ďalšie neprečítané témy.](https://www.pcforum.sk/styles/white/imageset/topic_read.gif) | v Ostatné programy | 2 | 571 | 01.07.2011 21:58 Mego | ![V tomto fóre nie sú ďalšie neprečítané témy. V tomto fóre nie sú ďalšie neprečítané témy.](https://www.pcforum.sk/styles/white/imageset/topic_read.gif) | v HTML, XHTML, XML, CSS | 0 | 644 | 24.02.2009 9:53 mattanyah | ![V tomto fóre nie sú ďalšie neprečítané témy. V tomto fóre nie sú ďalšie neprečítané témy.](https://www.pcforum.sk/styles/white/imageset/topic_read.gif) | v HTML, XHTML, XML, CSS | 6 | 811 | 26.11.2008 12:05 walther | ![V tomto fóre nie sú ďalšie neprečítané témy. V tomto fóre nie sú ďalšie neprečítané témy.](https://www.pcforum.sk/styles/white/imageset/topic_read.gif) | v HTML, XHTML, XML, CSS | 1 | 768 | 07.09.2008 18:32 pepek92 |
|