Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Informacja o wydarzeniach z danego miesiąca
arlid
post 2.03.2015, 20:00:46
Post #1





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 16.06.2007

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


Witam. Mam tabele w bazie danych, gdzie jest pole daty, którą podaje użytkownik. Teraz chciałbym uzyskać coś takiego. Mieć datę o 2 lata do przodu od tej wpisanej. Móc wyświetlić w jakimś panelu (ciągle wyświetlane) wydarzenia, które przypadają na ten miesiąc. Dane wydarzenie pokazuje się z datą nową (ta +2 lata) od wpisania przez użytkownika, czyli pokaże mu się za dwa lata. Czy da się coś takiego osiągnąć? Wydaje mi się, ze można to zrobić tak:
1. Pole daty w bazie, którą wpisuje użytkownik (nie wiem jak wykonać jakąś kontrolę tego pola? )
2. Stworzyć nowe pole w bazie, które uzupełni się poprzez dodanie liczby dni(lat) do wartości pola wpisanego przez użytkownika (zrobi to PHP?)
3. Wyświetlić listę wydarzeń z danego miesiąca - da się wszystkie wyświetlić jedynie po miesiącu? Może coś z data i between?

Dobry tok myślenia? Pozdrawiam
Go to the top of the page
+Quote Post
SmokAnalog
post 2.03.2015, 22:00:33
Post #2





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

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


Możesz precyzyjniej opisać co byś chciał? Bo nie rozumiem co masz na myśli pisząc "chcę mieć datę" czy "przypadające na ten miesiąc". Żeby dodać dwa lata z poziomu SQL, to można tak:
  1. SELECT DATE_ADD('2015-03-02', INTERVAL 2 YEAR)


Ten post edytował SmokAnalog 2.03.2015, 22:00:43
Go to the top of the page
+Quote Post
arlid
post 3.03.2015, 19:34:44
Post #3





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 16.06.2007

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


Już tłumacze. Chodzi o wypożyczenie sprzętu i jego zwrot. Admin dodaje do bazy nowy rekord z wypożyczeniem (data dodawana automatycznie z chwila dokonania zapisu w bazie lub wpisana przez admina) do kolumny "DATA".
2. Tworze druga kolumnę DATA_ZWROT i za pomocą SQLa (dzięki za zapytanie) dodaje tam 2 lata.
3. Chce zrobić sobie listę przedmiotów, które maja być zwrócone w danym miesiącu (1 dnia miesiąca widzę również te przedmiotu, które mają wrócić do ostatniego dnia miesiąca)

Mam nadzieję, że teraz jest to bardziej zrozumiałe smile.gif
Go to the top of the page
+Quote Post
SmokAnalog
post 3.03.2015, 21:46:51
Post #4





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

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


Żeby sprawdzić sprzęt, który musi zostać zwrócony w danym miesiącu możesz zrobić jedną z dwóch rzeczy:
  1. Obliczyć daty od/do (pierwszy i ostatni dzień miesiąca) i zawrzeć je w WHERE `data` BETWEEN data1 AND data2
  2. Dać warunek, że musi się zgadzać rok i miesiąc

Ja bym poszedł z drugą opcją. Zapytanie będzie wyglądało mniej więcej tak:
  1. SELECT *
  2. FROM `tabela`
  3. WHERE YEAR(`data_oddania`) = YEAR(CURRENT_DATE())
  4. AND MONTH(`data_oddania`) = MONTH(CURRENT_DATE())


Ten post edytował SmokAnalog 3.03.2015, 21:47:01
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 Wersja Lo-Fi Aktualny czas: 23.06.2025 - 09:20