Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Jak poprawnie skonstruować zapytanie?
Forum PHP.pl > Forum > Przedszkole
zaworek
Mama bazę, w której widnieje kolumna dodano typu datetime przechowująca dane w postaci typu: 2010-12-10 12:00:00
Wiem jak dokonać wyświetlenia wszystkich rekordów ale interesuje mnie graniczenie wyników do bieżącego dnia.
Pytanie jak tego dokonać?

Rekordy wyświetlam w taki sposób:

  1. $zapytanie = "SELECT * FROM tabela'";
  2. $wykonaj = mysql_query ($zapytanie);
  3. while($wiersz = mysql_fetch_array ($wykonaj)){
  4. echo "<tr>
  5. <td>".$wiersz['dodano']."</td>
  6. <td>".$wiersz['opis']."</td>
  7. </tr>";
  8. }


Jeżeli zrobię konkretne zapytanie (taka data z godziną oczywiście występują w tabeli)
  1. $zapytanie = "SELECT * FROM scrap WHERE dodano='2010-12-20 12:05:53'";

to dany rekord jest wyświetlany, sęk w tym że nie wiem jak dokonać zapytania dla wszystkich rekordów w oparciu jedynie o konkretną datę (chciałbym aby w tabeli pozostały dane o godzinie i minucie dodania).



Mephistofeles
DATE(`date`) = DATE($where)
zaworek
Chyba źle kombinuję bo mi nic nie wyświetla wstydnis.gif

  1. $where = date("Y-m-d");
  2. $zapytanie = "SELECT * FROM scrap WHERE DATE('dodano')=DATE($where)";
Mephistofeles
`` to nie są apostrofy, tylko te znaczki nad tyldą. Nie musisz ich stosować, to taki zwyczaj, który się przydaje przy zakazanych nazwach kolumn, np. range.
zaworek
Poprawiłem i nadal brak rezultatu.

  1. $zapytanie = "SELECT * FROM scrap WHERE DATE(`dodano`)=DATE($where)";


Tymczasowo zrobiłem jak poniżej i działa. Nie wiem czemu powyższy kod nie funkcjonuje poprawnie.
  1. $zapytanie = "SELECT * FROM scrap WHERE dodano BETWEEN '$where 00:00:00' AND '$where 23:59:59'";
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.