Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Dodawanie dni całego roku do bazy
Forum PHP.pl > Forum > Przedszkole
JulekJP
Witam, Chce wykonać a najlepiej przerobić skrypt który wypisze mi wszystkie dni miesiąca w roku i doda mi do bazy danych. Z pomocą znajomego zrobiłem skrypt który dodaje mi tylko dni w danym miesiącu.
Słabo się znam na funkcji date() Wcześniej z tym się nie bawiłem. Poniżej podaje skrypt który wypisuje mi wszystkie dni w danym miesiącu i zapisuje mi do bazy danych.

  1. $time = time(); //current time
  2. $current = date("j"); // get day of the current month
  3. $amount_days = date("t");
  4. $start_time = $time - (($current-1) * 24 * 3600);
  5.  
  6. for ($i = 0; $i < $amount_days; $i++) {
  7. $date = date("Y-m-d", $start_time).'<br/>';
  8. $q = mysql_query('INSERT INTO grafik (`grafik_date`) VALUES ("'.$date.'")');
  9.  
  10. $start_time += 24*3600;
  11. }


Prosił bym aby ktoś kto się zna naprowadził mnie na właściwą drogę.
NEO.pl
W dokumentacji masz wszystko rozpisane. http://pl2.php.net/manual/en/function.date.php + powiazane funkcje
JulekJP
Czytałem to nawet w języku polskim. Nie stety ale tego nie rozumiem ; / Tam gdzie zmienna $amount_days wpisał zmienną gdzie wypisze mi dni ile jest w roku ale za pewne zle zapisze daty w bazie danych.
Valdi_B
A może coś takiego:
  1. <?php
  2. $dat = new DateTime(date('Y-1-1')); // 1-szy dzień b.r.
  3. $ti_1d = new DateInterval('P1D'); // interwał "1 dzień"
  4. $rb = $dat->format('Y'); // rok bieżący
  5. echo "Daty z roku $rb <br />";
  6. $i = 0; // licznik poz. w wierszu wydruku
  7. do {
  8. echo $dat->format('Y-m-d') . ' &nbsp; ';
  9. $dat->add($ti_1d); // przesuń datę o 1 dzień
  10. if (++$i == 8) {
  11. echo '<br />';
  12. $i = 0;
  13. }
  14. } while ($dat->format('Y') == $rb);
  15. echo '<br />Koniec<br />';
  16. ?>
Rozwiązanie jest o tyle eleganckie, że:
- jest po polsku,
- operujesz na jednostkach naturalnych (dniach), nie bawiąc się w przeliczanie sekund na doby.
Oczywiście w wersji docelowej:
- usuń "bajery drukarskie",
- dodaj INSERT.
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.