Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][MySQL][PHP]pytanie o odliczanie
iksior
post
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 30.01.2010

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


Witam chciałbym uzyskać taki efekt
mam zadanie które ma 3 statusy
Status 1 = Otwarte
Status 2 = Zamknięte
Status 3 = Zawieszone

Jeśli zadanie ma status Otwarte to czas liczony jest od teraz w dół przez powiedzmy 3 h
Jeśli zadanie ma status Zamknięte to czas nie jest wyświetlany
Ok ale jeśli zadanie ma status zawieszone to wyświetla mi się form w którym wpisuje na ile czasu jest ono zawieszone (to wszystko już mam) tylko teraz jak zrobić aby po wpisaniu daty do forma był liczony czas od teraz do tej daty w dół czyli dzisiaj mamy 30.08.2012 godzina 01:40 a zadanie jest zawieszone do 30.08.2012 06:40 czyli na 5h
odliczałby te 5 godzin a jeśli licznik byłby równy 0 zmieniał by status na 1. Mam nadzieje że jakoś w miarę to opisałem, jeśli nie to piszcie co mogę poprawić albo dopowiedzieć.
Go to the top of the page
+Quote Post
prz3kus
post
Post #2





Grupa: Zarejestrowani
Postów: 260
Pomógł: 30
Dołączył: 22.01.2007

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


Gdzie w tym poście jest pytanie?
Go to the top of the page
+Quote Post
kda
post
Post #3





Grupa: Zarejestrowani
Postów: 75
Pomógł: 2
Dołączył: 29.07.2009

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


Po pierwsze musisz obliczyć różnicę pomiędzy dwoma datami zadaną a teraźniejszą, może to ci pomoże:
  1. function roznica_dat($poczatkowa, $koncowa, $styl="dni"){
  2. $d1 = explode("-", $poczatkowa);
  3. $d2 = explode("-", $koncowa);
  4.  
  5. $start = mktime (0,0,0,$d1[1],$d1[2],$d1[0]);
  6. $stop = mktime (0,0,0,$d2[1],$d2[2],$d2[0]);
  7.  
  8. // Wynik podany będzie w przybliżeniu
  9. if($styl=="dni") {$czas= round(($stop-$start)/60/60/24); $koncowka = " dni";};
  10. if($styl=="miesiace") {$czas= round(($stop-$start)/60/60/24/30); $koncowka = " miesięcy";};
  11. if($styl=="lata") {$czas= round(($stop-$start)/60/60/24/30/12); $koncowka = " lat";};
  12. if($styl=="godziny") {$czas= round(($stop-$start)/60/60); $koncowka = " godzin";};
  13. return $czas.$koncowka;
  14. }
  15. echo roznica_dat("2006-01-01","2006-01-31", "dni");
  16.  
  17.  
  18. //Przykładowe wywołanie funkcji:
  19. echo roznica_dat("1983-11-29","2006-03-06");
  20. //Z trzecim parametrem:
  21. echo roznica_dat("1983-11-29","2006-03-06", "miesiace");
  22. //Wynik wyświetli się w miesiącach.
  23. //Lista możliwości trzeciego parametru: "dni", "miesiace", "lata", "godziny".
Jak już obliczysz daty w tedy sprawdź czy data jest starsza, czy też młodsza od dzisiejszej następnie zmienisz status na taki jaki żądasz
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 17:53