Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Dodawanie dni do daty
Forum PHP.pl > Forum > Przedszkole
stefik4
Witam posiadam kod, który powinien dodawać 90 dni od danej daty pobranej z bazy i mam to tak rozwiązane:

  1. <?
  2. $dane = mysql_fetch_array(mysql_query('SELECT `do` FROM `usr` WHERE `id`="1"')); //w moim przypadku zraca 2011-03-13
  3.  
  4. // $_POST['dokiedy'] ma wartość 90.
  5.  
  6. $prr =date("Y-m-d");
  7.  
  8. if($dane[0]=="0000-00-00" OR $dane[0]<$prr){
  9. $do = date('Y-m-d', strtotime('+ '.$_POST['dokiedy'].' days'));
  10. echo "pusto, +".$_POST['dokiedy']."days: więc vip do: ".$do; // działa poprawnie
  11. } else {
  12.  
  13. $do = date($dane[0], strtotime('+ '.$_POST['dokiedy'].' days'));
  14. echo "pełno, ".$dane[0]."+".$_POST['dokiedy']." = ".$do; // zawraca: pełno, 2011-03-13+90 = 2011-03-13
  15. }
  16.  
  17. ?>


Męczę się z tym kodem i nie mogę sobie z nim poradzić ;/
Wicepsik
  1. echo date('Y-m-d', strtotime('2011-03-13 +90 days'));
bartoland
Witam.

Nie wiem czy tym postem pomogę, ale zaproponuję inne podejście do sprawy.

Ja daty przechowuje w tej samej formie co zwraca funkcja time(); czyli liczba sekund od któregoś roku, nie pamiętam bo to nie istotne. Nie ma problemu by tą liczbę zamienić na date jest do tego odpowiednia funkcja nie pamiętam jak się nazywa, ale na pewno w dokumentacji php przy opisie time() znajdziesz tą funkcję.
Jeśli potrzebujesz do danej daty dodać 90 dni to wystarczy do tej wartości dodać tyle sekund ile trwa 90 dni. I po sprawie.

Ja bym to zrobił w taki sposób.
Pawel_W
Cytat(bartoland @ 18.12.2010, 23:59:22 ) *
Ja bym to zrobił w taki sposób.

i właśnie to zrobił ~Wicepsik smile.gif

strtotime zamienia dzisiejszą datę +90 dni na format timestamp unixowy (liczba sekund od 1980r), a następnie podaje tą liczbę jako argument funkcji date, która to zamienia liczbę na dzień, miesiąc i rok sad.gif
stefik4
Wicepsik, dzięki winksmiley.jpg
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.