Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL]Jak poprawnie skonstruować zapytanie?, Wyświetlenie rekordów z konkretną datą
zaworek
post 20.12.2010, 12:47:49
Post #1





Grupa: Zarejestrowani
Postów: 62
Pomógł: 0
Dołączył: 27.06.2006

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


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).



Go to the top of the page
+Quote Post
Mephistofeles
post 20.12.2010, 12:51:58
Post #2





Grupa: Zarejestrowani
Postów: 1 182
Pomógł: 115
Dołączył: 4.03.2009
Skąd: Myszków

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


DATE(`date`) = DATE($where)
Go to the top of the page
+Quote Post
zaworek
post 20.12.2010, 14:31:16
Post #3





Grupa: Zarejestrowani
Postów: 62
Pomógł: 0
Dołączył: 27.06.2006

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


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)";
Go to the top of the page
+Quote Post
Mephistofeles
post 20.12.2010, 16:06:42
Post #4





Grupa: Zarejestrowani
Postów: 1 182
Pomógł: 115
Dołączył: 4.03.2009
Skąd: Myszków

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


`` 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.
Go to the top of the page
+Quote Post
zaworek
post 20.12.2010, 16:27:31
Post #5





Grupa: Zarejestrowani
Postów: 62
Pomógł: 0
Dołączył: 27.06.2006

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


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'";


Ten post edytował zaworek 20.12.2010, 16:28:07
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 Wersja Lo-Fi Aktualny czas: 13.07.2025 - 12:30