| | |
Autor | Správa |
---|
Registrovaný: 31.08.07 Prihlásený: 27.03.15 Príspevky: 1800 Témy: 153 Bydlisko: Komárno | Napísal autor témy dsljohn: 09.01.2009 12:10 | |
|
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 Bydlisko: Žilina | Napísal max-m: 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 |
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 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 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 Bydlisko: Žilina | Napísal max-m: 09.01.2009 12:52 | |
|
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 | Napísal suchy: 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. |
|
Registrovaný: 16.01.08 Prihlásený: 27.03.13 Príspevky: 641 Témy: 144 Bydlisko: Žilina | Napísal max-m: 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 |
|
Registrovaný: 17.10.06 Prihlásený: 08.01.11 Príspevky: 1752 Témy: 17 | Napísal suchy: 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. |
|
Registrovaný: 16.01.08 Prihlásený: 27.03.13 Príspevky: 641 Témy: 144 Bydlisko: Žilina | Napísal max-m: 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 |
|
Registrovaný: 19.08.09 Prihlásený: 15.07.14 Príspevky: 16 Témy: 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 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 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 |
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 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 |
|
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| zmena obrazku na webe podla datumu v PHP, ASP | 2 | 519 | 17.10.2008 17:13 dulius | | Spravne nastavenie php v PHP, ASP | 11 | 986 | 14.02.2007 14:34 kmsa | | Prepojenie Routrou správne nastavenie v Poskytovatelia internetu | 3 | 398 | 26.01.2017 18:28 4040 | | Lyzovanie, spravne nastavenie viazania v Šport a pohyb | 6 | 6630 | 28.12.2014 15:33 phau | | spravne nastavenie jasu/ziarivosti monitora v Monitory, televízory a projektory | 0 | 600 | 02.10.2011 18:52 giuseppe | | Spravne nastavenie airflowu v bedni v Chladiče a všetky druhy chladenia | 2 | 579 | 20.01.2017 15:47 expresado | | Správne nastavenie friendly URL , htaccess v PHP, ASP | 0 | 802 | 16.02.2016 17:22 kajbo | | AMD Athlon XP 2500+ nastavenie biosu je spravne? v Biosy a ladenie výkonu | 1 | 703 | 02.05.2010 19:58 shiro | | zmena datumu v Databázy | 3 | 421 | 16.08.2013 14:47 stenley | | formát dátumu v PHP, ASP | 8 | 502 | 15.01.2009 15:48 Tominator | | Format datumu v PHP, ASP | 9 | 714 | 09.03.2010 16:46 stenley | | Kalendár v HTML, XHTML, XML, CSS | 0 | 603 | 24.02.2009 9:53 mattanyah | | Kalendár v Ostatné programy | 2 | 527 | 01.07.2011 21:58 Mego | | kalendar v HTML, XHTML, XML, CSS | 6 | 754 | 26.11.2008 12:05 walther | | Kalendár v HTML, XHTML, XML, CSS | 1 | 720 | 07.09.2008 18:32 pepek92 | | Kalendar v JavaScript, VBScript, Ajax | 0 | 545 | 23.04.2010 12:48 jtomcik |
| 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
|
|