Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Porównywanie dat
macth
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 21.04.2007

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


Sytuacja wygląda tak.
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";
?>


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 :/
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
Sedziwoj
post
Post #2





Grupa: Zarejestrowani
Postów: 793
Pomógł: 32
Dołączył: 23.11.2006
Skąd: Warszawa

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


  1. SELECT count(*) AS total FROM tabela WHERE id_kat=5 AND date(date_waz) > 'rrrr-mm-dd' AND aktywny = '1'

To powinno działaś, choć sam mam nikle doświadczenie.


--------------------
Algorytmy w PHP, czy ktoś o tym słyszał?
Dlaczego tak mało kobiet programuje? ponieważ nie zajmują się głupotami.
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 Aktualny czas: 19.08.2025 - 19:19