Jest sobie tabela w bazie. Pola tej tabeli to między innymi: id_kat, data_waz, aktywne. Data_waz jest zapisana w formacie timestamp.
Chcę zliczyć ilość rekordów w bazie, które mają id_kat=5, aktywne=1 i date_waz > od dzisiaj. Czyli, chcę wyświetlić ilość rekordów w bazie, których data ważności jeszcze nie minęła.
Znalazłem coś takiego:
Kod
<?php
$dzisiaj = time();
$sql_ads = "select count(*) as total from tabela where id_kat=5 and date_waz > '".$dzisiaj."' and aktywny = '1'";
$resultads = sql_query($sql_ads,$dbi);
$totalads = sql_fetch_array($resultads,$dbi);
echo "$totalads";
?>
$dzisiaj = time();
$sql_ads = "select count(*) as total from tabela where id_kat=5 and date_waz > '".$dzisiaj."' and aktywny = '1'";
$resultads = sql_query($sql_ads,$dbi);
$totalads = sql_fetch_array($resultads,$dbi);
echo "$totalads";
?>
Problemem jest tylko to, że w związku z wykorzystaniem formatu timestamp porównywana jest ilość sekund -- powoduje to sytuację, że rekord z date_waz 23.04.2007 11:12:00, przestaje być ważny 23.04.2007 11:12:01, a ja chciałbym, żeby był ważny aż do północy.
Czyli jak przerobić powyższe, żeby porównywana była tylko data (dzień miesiąc rok) pola data_waz i zmiennej $dzisiaj.
Potrzebuję tylko wyświetlić ilość rekordów ważnych, dlatego wolę zrobić taką funkcję, niż przeszukiwać cały skrypt, żeby zminić zapis daty w bazie. W dodatku jestem początkujący :/