Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] Operacje na dacie
matys88
post
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 2.05.2013

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


Witam,
Przechowuję w bazie danych date i nazwę wydarzenia.
Następnie w tabeli wyświetlam datę i wybrane wydarzenie.
Zdarza mi się że np. przez 7 dni występuje takie samo wydarzenie,
w związku z tym mam problem i moje pytanie brzmi następująco:
Czy jest możliwość generowania ,,automatycznych'' wydarzeń do bazy tzn.
W formularzu wpisze wartość poczatkową np. 2013-06-12 i wartosc koncową np. 2013-06-18
i nazwe wydarzenia np. Wolne. Po wpisaniu tych danych w bazie miałbym dodanych 7 dat z nazwą wydarzenia Wolne.
Najlepiej byłoby stworzyć baze danych z datą początkową i data koncową wtedy nie byłoby problemu, ale
z pewnych przyczyn i wymogow nie mogę zmienić bazy danych.
Jesli jest taka możliwosć i ktoś wiedziałby o co chodzi, to prosiłbym o pomoc,
jak taki problem rozwiązać.

Pozdrawiam
Matys
Go to the top of the page
+Quote Post
skowron-line
post
Post #2





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


- obliczasz różnice dat koncowa - poczatkowa (new DateTime())
- robisz pętle (for) w której wrzucasz daną ilość rekordów (insert) do bazy zwiększajc datę o ilość dni od początkowej (new DateTime())

Ten post edytował skowron-line 12.06.2013, 10:34:36
Go to the top of the page
+Quote Post
b4rt3kk
post
Post #3





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Żaden problem. Puść pętlę od mniejszej do większej daty (bądź odwrotnie) i inkrementuj dzień o 1 wykonując zapytanie za każdym razem z inną datą.

  1. $data = $poczatkowaData;
  2. while ($data <= $koncowaData) {
  3. $query = "INSERT INTO tabela VALUES ('$data')";
  4. $data = strtotime($data . '+ 1 day');
  5. }


To tylko schemat działania. Musisz to wszystko elegancko sformatować, itp.
Go to the top of the page
+Quote Post
matys88
post
Post #4





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 2.05.2013

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


Dziękuję za pomoc.
Myślę że sobię poradzę (IMG:style_emoticons/default/smile.gif)
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: 23.08.2025 - 05:58