Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Kalendarz - aktualny tydzień
Forum PHP.pl > Forum > PHP
blackneron
Jak narazie udało mi się wyświetlić pierwsze 7 dni aktualnego miesiąca. A chciałbym wyświetlić tydzień w którym pierwszym dniem jest "dzień dzisiejszy". Dalej tydzień w przód i w tył (linki).
  1. <?php
  2. while(date("m",$czas)==$m && date("d",$czas)<=7) //dla każdego dnia wybranego miesiąca
  3. {
  4.  
  5. print "<td><center><a href='link1.php?'>"; //dzień roboczy
  6.  
  7. if(date("Ymd",$czas)==date("Ymd",time())) print '<pre>'; //w <pre> bieżący dzień
  8. print "<a href="?m=$m&d=".date('j',$czas).'">'.date('d.m',$czas).'</a>';
  9. print "</a></center></td>";
  10. if(date("w",$czas)==0) print "</tr>n <tr>";
  11.  
  12. $czas+=24*3600; //następny dzień
  13.  
  14. }
  15. ?>
zleek
  1. <?php
  2. $_curDay = date("w"); //pobranie numeru dnia w tygodniu
  3. $_curDate = date("d"); //pobranie aktualnego dnia
  4.  
  5. if(!IsSet($_GET['offset'])) $_GET['offset']=0;
  6.  
  7. print("<a href='?offset=".($_GET['offset']-1)."'>poprzedni</a> | <a href='?offset=".($_GET['offset']+1)."'>następny</a><br />");
  8.  
  9. $_offset=$_GET['offset']*7; //offset zawiera numer przesunięcia w tygodniach, więc zamieniamy na dni
  10.  
  11. for($i=$_curDate-$_curDay+1+$_offset; $i<$_curDate+(7-$_curDay)+1+$_offset; $i++)
  12. print(date("m-d | ", mktime(0,0,0,1,$i,2007))); // wyświetlenie dni danego tygodnia w postaci mm-dd
  13. ?>
Musiek
Wiem, że stary temat ale dałoby radę aby wyświetlało dany tydzień z aktualnym dniem tygodnia, w niezmiennej formie wyświetlania od pon do niedz?

Czyli nie żeby wyświetlanie zaczynało się od dnia dzisiejszego ale żeby szablon tygodniowy zawierał dzień dzisiejszy.
thek
  1. echo date( 'Y-m-d', strtotime('last Monday') );
chyba Ci pomoże dla poniedziałku wink.gif
Musiek
A co jesli dziś wypadnie poniedziałek? albo co jeśli dziś jest środa, co zrobić wtedy aby czwartek (dzień następny) wyświetlił się bez problemu?
thek
A to nie możesz sprawdzić działania "last" i "next" oraz zrobić prostych if? Bo do tego całe to kombinowanie sie sprawdzi.
Jeśli dziś jest poniedziałek to startowy poniedziałek jest dziś, jeśli nie to jest to ostatni poniedziałek.
Jeśli dziś jest niedziela to niedziela jest dziś, jeśli nie, jest to przyszła niedziela.
Te dwa warunki wyznaczą Ci "zakres tygodniowy". Kapiszi? wink.gif
Masz start i koniec tygodnia, a reszta jest bez znaczenia i możesz ją nawet na ślepo generować, bo masz początek i koniec zakresu datowego.
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.