Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Dodawanie do tablicy wszystkich dat z przedziału
Rokodon
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 10.06.2013

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


Hej! Jestem tutaj nowy, ale mam pewne doświadczenie w PHP.
Napotkałem jednak problem, otóż zapisuję w bazie danych dwie daty: początkową oraz końcową. Chciałbym teraz wybrać wszystkie daty z ich przedziału i dodać do jednej tablicy. Zupełnie nie mam pojęcia jak to zrobić sad.gif Będę bardzo wdzięczny za pomoc smile.gif

Przykład:
Data początkowa: 2013-12-24
Data końcowa: 2013-12-27

Chciałbym aby w tablicy znalazły się daty: 24,25,26,27 grudnia 2013 roku.
Go to the top of the page
+Quote Post
xbigos
post
Post #2





Grupa: Zarejestrowani
Postów: 239
Pomógł: 27
Dołączył: 13.07.2005
Skąd: Jarocin

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


Spróbuj instrukcji for dodaj jakiegoś if zeby sprawdzić i na pewno bedzie działać. polecam manuala. rozwiązań jest co najmniej kilka.


--------------------
Go to the top of the page
+Quote Post
drPayton
post
Post #3





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


sekunda z google:
http://www.rarst.net/script/php-date-range/

A możesz tez pokombinować z wbudowaną klasą "DatePeriod"

  1. <?php
  2.  
  3. $start = DateTime::createFromFormat("Y-m-d H:i:s","2013-12-24 00:00:00");
  4. $end = DateTime::createFromFormat("Y-m-d H:i:s","2013-12-27 23:59:59");
  5. $interval = new DateInterval("P1D"); // 1 dzień
  6.  
  7. $period = new DatePeriod($start, $interval, $end);
  8. foreach($period as $date){
  9. echo $date->format("Y-m-d H:i:s") . "\n";
  10. }



edit:
@down: Piszę na tym forum ostatnio raz na kilka miesięcy, więc mogę gotowca podać ;P

Ten post edytował drPayton 10.06.2013, 22:08:38
Go to the top of the page
+Quote Post
xbigos
post
Post #4





Grupa: Zarejestrowani
Postów: 239
Pomógł: 27
Dołączył: 13.07.2005
Skąd: Jarocin

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


drPayton no dobra powiem to.wink.gif Bardziej eleganckie rozwiązanie. ale jakoś nie widzę sensu korzystania z gotowca;) skoro metoda jest tak prosta, że przy chwili dobrej woli śmiało można samemu to rozwiązać. Wystarczy pomyślećbiggrin.gif a obstawiam 2:1 że OOP nie jest używane przez Rokodona w tym rozwiązaniu:P


--------------------
Go to the top of the page
+Quote Post
Rokodon
post
Post #5





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 10.06.2013

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


xbigos -> To że for i if to ja się domyślam tongue.gif Napisanie własnego rozwiązania zajęło by zapewne sporo linijek i czasu, ponieważ nie znam się na PHP bardzo dobrze. Jeśli chodzi o OOP to nie używam, PHP nie znam na tyle dobrze co C++ sad.gif
drPayton -> Dzięki! Próbowałem dwie metody, ale ta pierwsza ( z linka ) znacznie bardziej mi pasuje smile.gif Po paru modyfikacjach tej funkcji wszystko działa jak należy.

Wielkie dzięki!
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 - 18:23