Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z zapytaniem
Forum PHP.pl > Forum > Bazy danych > MySQL
barthezpl
Witajcie, mam mały problem z zapytaniem, chcę aby wyświetlano mi rekordy z pomiędzy dwóch dat ,a dokładniej aby wyświetało rekordy "dokiedy"<=wyświetl>="odkiedy" próbowałem z BETWEEN, ale nie wycodzi:(

  1. mysql_query("INSERT INTO main ( kategoria, naglowek, tresc, email, gg, tel, odkiedy, dokiedy, klucz) VALUES( '$_POST[kategoria]', '$_POST[naglowek]', '$_POST[tresc]','$_POST[email]','$_POST[gg]','$_POST[tel]', NOW(), DATE_SUB( NOW() , INTERVAL -30 DAY ), '$klucz')");
ikioloak
chcesz wyswietlac? to dlazcego INSERT? zastanow sie dobrze co chcesz zrobic, bo jesli wyswietlac to nie INSERT a SELECT
barthezpl
Wiem wiem, to jest dodanie do bazy, chodzi mi teraz o Select, bo nie mam pojecia jak zrobić zeby wyświetlił rekordy które zostały dodane założmy pomiędzy 21.12.2006( dodaje to aktuaną date - Date () ) - 21.01.2007 (dodawaną poprzez DATE_SUB( NOW() , INTERVAL -30 DAY ) ,hmmm i jak usunąć w locie rekordy które się przeterminują. Nie chodzi o jedną datę tylko o warunek dla wszystkich, rekord jest aktywny przez 30 dni od daty dodania, a następnie jest automatycznie usuwany
ww-06
Cytat(barthezpl @ 5.01.2007, 01:14:05 ) *
Wiem wiem, to jest dodanie do bazy, chodzi mi teraz o Select, bo nie mam pojecia jak zrobić zeby wyświetlił rekordy które zostały dodane założmy pomiędzy 21.12.2006( dodaje to aktuaną date - Date () ) - 21.01.2007 (dodawaną poprzez DATE_SUB( NOW() , INTERVAL -30 DAY ) ,hmmm i jak usunąć w locie rekordy które się przeterminują. Nie chodzi o jedną datę tylko o warunek dla wszystkich, rekord jest aktywny przez 30 dni od daty dodania, a następnie jest automatycznie usuwany

A słyszałeś o takiej funkcji php: mktime, która tworzy datę z bieżącej daty systemowej w dowolnym kierunku, zarówno w przeszłość jak i w przyszłość? Podstaw pod zmienne datę od i datę do i użyj ich w selectcie:
where dataod>='$dataod' and datado<='$datado'
Użycie mktime:
$dataod=date("Y-m-d",mktime (0,0,0,date("m"),date("d")-6,date("y")));
oznacza 6 dni wstecz i w odpowiednich miejscach można modyfikować rok i miesiąc.
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.