Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] kalendarz - przypisywanie wydarzen do daty
lnn
post
Post #1





Grupa: Zarejestrowani
Postów: 361
Pomógł: 11
Dołączył: 17.12.2008
Skąd: LU

Ostrzeżenie: (0%)
-----


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 :-)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Gryf
post
Post #2





Grupa: Zarejestrowani
Postów: 170
Pomógł: 40
Dołączył: 14.08.2008
Skąd: Katowice

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
lnn
post
Post #3





Grupa: Zarejestrowani
Postów: 361
Pomógł: 11
Dołączył: 17.12.2008
Skąd: LU

Ostrzeżenie: (0%)
-----


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>
Go to the top of the page
+Quote Post
8_pasazer_NOSTRO...
post
Post #4





Grupa: Zarejestrowani
Postów: 63
Pomógł: 0
Dołączył: 18.11.2009
Skąd: Legnica

Ostrzeżenie: (20%)
X----


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. }
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 06:09