Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Operacje na datach + przycisk
Forum PHP.pl > Forum > Bazy danych > MySQL
ojciec81
Witam
Robie stornkę korzystającą z bazy danych mysql. Na jednej ze stron wyświetlane są informacje z danego dnia, jak zrobić aby po naciśnięciu przycisku czy też linku wynikiem byłby następny dzień bądz miesiąc.
POZDAWIAM
skowron-line
Musisz sobie przekazać zmienna z _GET i zrobić sobie odpowiednie zapytanie do bazy.
ojciec81
Chodzi mi właśnie o zapytanie Jak zwiększyć datę np o1 miesiąc
vokiel
A z czym masz problem?

1. Przekazaniem daty? ($_POST - formularzem, $_GET adresem)
2. Odebraniem w skrypcie nowej daty?
3. Stworzeniem zapytania do bazy z warunkiem where data = data podana z post lub get?
skowron-line
google -> mysql operacje na dacie.
ojciec81
Problem mam z zapytaniem np aby do curdate() dodać 1 miesiąc.
vokiel
Nie dodajesz do curdate, tylko wstawiasz datę pobraną zamiast.
ojciec81
Proszę o podanie przykłady np do daty 1999-12-12 dodać 1 miesiąć
vokiel
Masz sobie stronkę, która pobiera coś z mysql z dzisiaj, tak dla przykładu:
  1. SELECT * FROM `tabela` WHERE `data_w_bazie` = CURDATE();
tak?

No to przerabiasz takie zapytanie, aby pobierało datę z $_GET:
  1. $data = (!empty($_GET['data']))? $_GET['data'] : date('Y-m-d');
  2. $query = "SELECT * FROM `tabela` WHERE `data_w_bazie` = '".$data."';";


Mając już aktualnie wyświetlaną datę w zmiennej $data tworzysz linki pokazujące datę z następnego i poprzedniego dnia poprzez:
  1. $data_prev = date('Y-m-d', strtotime("-1 day", $data));
  2. $data_next = date('Y-m-d', strtotime("+1 day", $data));
  3.  
  4. echo '<a href="?data='.$data_prev.'" >poprzednia</a>';
  5. echo '<a href="?data='.$data_next.'" >następna</a>';
Mchl
A w MySQL możesz tak:
Kod
SELECT CURDATE() + INTERVAL 1 MONTH
ojciec81
WIELKIE DZIĘKI O TO MI CHODZIŁO
POZDRAIWIAM!!!
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.