Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] kalendarz - przypisywanie wydarzen do daty
Forum PHP.pl > Forum > Przedszkole
lnn
witam
jako ze nie mam pojecia jak od podstaw stworzyc cos takiego jak kalendarz ktory bedzie wyswietlal po kolei dane miesiace oraz zeby przypisywac do danego dnia dana informacje ;p
prosze o wskazowki od czego zaczac :-)
Gryf
do wygenerowania kalendarza możesz wykorzystać funkcję date
dane o wydarzeniach trzymasz w bazie konstrukcja zbliżona do tego
idwyd |datawyd |opiswyd|
1 |01-01-09|wydarzenie nr1
1 |01-03-09|wydarzenie nr2
1 |22-07-09|wydarzenie nr3
wynik z tabeli trzymasz w tablicy i jak generujesz kalendarz to sprawdzasz czy danego dnia coś się dzieje.
lnn
czy da rade jakos przypisac taakie cos do tego skryptu (znaleziony w sieci), jestem poczatkujacy ...
  1. <?php
  2.  
  3. function dni_mies($mies,$rok) {
  4.  
  5. $dni = 31;
  6. while (!checkdate($mies, $dni, $rok)) $dni--;
  7.  
  8.  
  9. return $dni;
  10. }
  11.  
  12.  
  13. function dzien_tyg_nr($mies,$rok) {
  14.  
  15. $dzien = date("w", mktime(0,0,0,$mies,1,$rok));
  16.  
  17.  
  18. return $dzien;
  19. }
  20.  
  21. function dzien_tyg($nr) {
  22.  
  23. $dzien = array(0 => "Niedziela", "Poniedziałek", "Wtorek", "Środa", "Czwartek", "Piątek", "Sobota");
  24.  
  25. return $dzien[$nr];
  26. }
  27.  
  28.  
  29. function miesiac_pl($mies) {
  30.  
  31. $mies_pl = array(1=>"Stycznia", "Lutego", "Marca", "Kwietnia", "Maja", "Czerwieca", "Lipieca", "Sierpnia", "Września", "PaĽdziernika", "Listopada", "Grudnia");
  32.  
  33. return $mies_pl[$mies];
  34. }
  35.  
  36. ?>
  37.  
  38. <html>
  39. <head>
  40. <title>Kalendarz</title>
  41.  
  42. <meta http-equiv="content-type" content="text/xml; charset=iso-8859-2" />
  43. <meta http-equiv="content-language" content="pl" />
  44.  
  45. <style type="text/css">
  46. #kalendarz {width: 250px;}
  47. #kalendarz p {text-align: right;}
  48. #kalendarz li {display: inline; padding:2px 5px; }
  49. #kalendarz .akt {color: #990000; font-weight: bold;}
  50. #kalendarz .hidden {visibility: hidden;}
  51. </style>
  52. </head>
  53. <body>
  54.  
  55. <div id="kalendarz">
  56. <?php
  57. echo '<p>'.dzien_tyg(date("w")).', '.date("d").' '.miesiac_pl(date("n")).' '.date("Y").'</p>';
  58. ?>
  59. <ul>
  60. <li>N&nbsp;</li>
  61. <li>Pn</li>
  62. <li>Wt</li>
  63. <li>Śr</li>
  64. <li>Cz</li>
  65. <li>Pt</li>
  66. <li>Sb</li>
  67. </ul>
  68.  
  69. <ul>
  70. <?php
  71. for($i=0;$i<dzien_tyg_nr(date("n"),date("Y"));$i++)
  72. echo '<li class="hidden">00</li> ';
  73.  
  74. for($i=1;$i<dni_mies(date("n"),date("Y")) +1;$i++) {
  75. if ($i<10) $i = '0'.$i;
  76. if ($i == date("d")) echo '<li class="akt">'.$i.'</li> ';
  77.  else echo '<li>'.$i.'</li> ';
  78. }
  79. ?>
  80. </ul>
  81. <div>
  82.  
  83. </body>

</html>
8_pasazer_NOSTROMO
Witam, postanowiłem wskrzesić temat by nie zakładać nowego. Mam kod kalendarza pobrany z internetu tutaj. Problem polega na tym że w kodzie jest błąd (Warning: in_array() [function.in-array]: Wrong datatype for second argument in c:\.........................index.php on line 265). Czy ktoś pomoże przerobić kod tak aby działał ?

Nie bede wklejał całego kodu bo jest on w linku.

Błąd jest w tym miejscu:

  1. for ($i=1; $i <= $NumberOfDays; $i++) {
  2. $aktual = $i.'/'.$MonthLoop.'/'.$YearLoop;
  3. $now = $D.'/'.$M.'/'.$Y;
  4. $DayOfWeek = date(l,mktime(0,0,0,$MonthLoop,$i,$YearLoop));
  5. if($DayOfWeekNum == $DayWeekStarts) {
  6. $totalHtml .= '<tr>';
  7. }
  8. if ($aktual==$now){
  9. if(in_array($aktual,$daty)){
  10. $totalHtml .= '<td class="b"><div class="kom"><a href="5_3.php?data='.$aktual.'">'.$i.'</a></div></td>';
  11. }else{
  12. $totalHtml .= '<td class="b"><div class="kom">'.$i.'</div></td>';
  13. }
  14. }else if(in_array($aktual,$daty)) { //jesli data jest w tablicy kolorujemy i linkujemy dany dzien
  15. $totalHtml .= '<td class="a"><div class="komA"><a href="5_3.php?data='.$aktual.'">'.$i.'</a></div></td>';
  16. } else {
  17. $totalHtml .= '<td class="t" style="color:#000000;"><div class="komN">'.$i.'</div></td>';
  18. }
  19. if($DayOfWeekNum == ($DayWeekStarts-1)) {
  20. $totalHtml .= '</tr>';
  21. }
  22. if($DayOfWeekNum == 7){$DayOfWeekNum=1;} else{$DayOfWeekNum++;}
  23. }


który nazwiązuje do :

  1. /*===== Laczymy sie z baza i pobieramy do tablicy $daty wszystkie daty w bazie =========================*/
  2. $db = lacz_bd();
  3. $zapytanie = "select data from event";
  4. $wynik = $db->query($zapytanie);
  5. $ile_znalezionych = $wynik->num_rows;
  6. for ($i=0; $i <$ile_znalezionych; $i++)
  7. {
  8. $wiersz = $wynik->fetch_assoc();
  9. $daty[] = $wiersz['data'];
  10. }
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.