Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: kalendarz PHP
Forum PHP.pl > Forum > PHP
elmozaur
Witajcie.
Potrzebuje napisac prosty kalendarz ktorego dni beda linkami do newsow.
W necie znalazlem fajny przyklad:

  1. <?php
  2. function dzien_tyg_nr($mies,$rok)
  3. {
  4. $dzien = date("w", mktime(0,0,0,$mies,1,$rok));
  5. return $dzien;
  6. }
  7.  
  8. function dni_mies($mies,$rok)
  9. {
  10. $dni = 31;
  11. while (!checkdate($mies, $dni, $rok))
  12. $dni--;
  13. return $dni;
  14. }
  15.  
  16. //zmienne kalendarza
  17. $m=date("m"); $y=date("y"); $aktualna=date("d-m-Y"); if($_GET['m']=='') {$miesiac=$m;} else {$miesiac=$_GET['m'];} if($_GET['y']=='') {$rok=$y;} else {$rok=$_GET['y'];}
  18.  
  19. $nr_kratki=1;
  20. echo '<table border="1"><tr><td><b>N</b></td><td><b>Pn</b></td><td><b>Wt</b></td><td><b>Sr</b></td><td><b>Cz</b></td><td><b>Pt</b></td><td><b>So</b></td></tr>';
  21. echo '<tr>';
  22. for($i=0;$i<dzien_tyg_nr($miesiac,$rok);$i++) //ile pustych pol
  23. {echo '<td>&nbsp;</td>'; $nr_kratki++;}
  24.  
  25. for($i=1;$i<dni_mies($miesiac,$rok) +1;$i++) //ile pelnych pol
  26. {echo '<td>'.$i.'</td>'; $nr_kratki++; if($nr_kratki%8=='0') {echo '</tr><tr>'; $nr_kratki='1';}}
  27.  
  28. for($i=$nr_kratki;$i<8;$i++) //ile pustych pol
  29. {echo '<td>&nbsp;</td>';}
  30.  
  31. echo '</tr></table><br/>';
  32. echo $aktualna;
  33.  
  34. ?>


I to dziala ladnie tylko ze kalendarz pokazuje dni w formacie od niedzieli do soboty a ja chcialbym od poniedzialku do niedzieli.
Domyslam sie ze funkcje odpowiedaja za format danych jednak nie wiem jak je przepisac.

za wszelkie info z gory dziekuje
G
webasek
Zamień:

  1. <?php
  2. function dzien_tyg_nr($mies,$rok)
  3. {
  4. $dzien = date("w", mktime(0,0,0,$mies,1,$rok));
  5. return $dzien;
  6. }
  7. ?>


na

  1. <?php
  2. function dzien_tyg_nr($mies,$rok)
  3. {
  4. $dzien = date("N", mktime(0,0,0,$mies,1,$rok));
  5. return $dzien;
  6. }
  7. ?>



oraz pętle

  1. <?php
  2. for($i=0;$i<dzien_tyg_nr($miesiac,$rok);$i++) //ile pustych pol
  3. {echo '<td>&nbsp;</td>'; $nr_kratki++;}
  4. ?>


na

  1. <?php
  2. for($i=1;$i<dzien_tyg_nr($miesiac,$rok);$i++) //ile pustych pol
  3. {echo '<td>&nbsp;</td>'; $nr_kratki++;}
  4. ?>


No i oczywiście:

  1. <?php
  2. echo '<table border="1"><tr><td><b>Pn</b></td><td><b>Wt</b></td><td><b>Sr</b></td><td><b>Czw</b></td><td><b>Pt</b></td><td><b>So</b></td><td><b>N</b></td></tr>';
  3. echo '<tr>';
  4. ?>


a więcej o funkcjach czasu możesz poczytać tutaj
elmozaur
Dziala dziekuje.
Rozwiazania szukalem w tej funkcji "recznie" dodajac 6 do zwracanej zmiennej ale cos sie rozjezdzalo ;-)
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.