Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Porównywanie dwóch dat z MySQL
Wilu88
post
Post #1





Grupa: Zarejestrowani
Postów: 158
Pomógł: 6
Dołączył: 7.03.2010

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


Witam

pisze mały dodatek do strony który ma za zadanie dodawać codziennie nowe wpisy do bazy danych z warunkiem że jednego dnia będzie to jeden wpis. Czyli na początku muszę sprawdzić SELECT czy istnieje jaki kolwiek zapis w bazie danych z tą datą a póxniej ewentualnei dodać. No i tu mam problem bo o ile klauzula WHERE

  1. $sql = "SELECT count(id) FROM ".$tabela." WHERE DATE(data) = DATE(NOW())";
  2. $iloscRekordow = $wpdb->get_col($sql) or die(mysql_error());


Działa bez problemu to już porównanie daty z bazy danych ze stringiem którego tworze za pomocą funkcji
  1. $data_wyscigu_nowa = date("Y-m-d", strtotime($data_wyscigu));
  2. $sql = "SELECT count(id) FROM ".$tabela." WHERE DATE(data) = DATE(".$data_wyscigu_nowa.")";
  3. $iloscRekordow = $wpdb->get_col($sql) or die(mysql_error());


to cały czas $iloscRekordow zgasza 0 pomimo że wpisów w bazie jest juz kilka

Ten post edytował Wilu88 9.01.2016, 23:33:04
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Tomplus
post
Post #2





Grupa: Zarejestrowani
Postów: 1 879
Pomógł: 230
Dołączył: 20.03.2005
Skąd: Będzin

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


użyj: DATE_FORMAT($data_wyscigu_nowa,'%Y-%m-%d')
Go to the top of the page
+Quote Post
Wilu88
post
Post #3





Grupa: Zarejestrowani
Postów: 158
Pomógł: 6
Dołączył: 7.03.2010

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


Zrobiłem tak:

  1. $sql = "SELECT count(id) FROM ".$tabela." WHERE DATE(data) = DATE_FORMAT(".$data_wyscigu_nowa.",'%Y-%m-%d')";
  2. $iloscRekordow = $wpdb->get_col($sql) or die(mysql_error());
  3.  
  4. print_r($iloscRekordow);


i niestety print_r cały czas pokazuje 0 rekordów jeśli tylko użyje funkcji NOW() prawidłowo pokazuje ilość z dzisiaj
Go to the top of the page
+Quote Post
Tomplus
post
Post #4





Grupa: Zarejestrowani
Postów: 1 879
Pomógł: 230
Dołączył: 20.03.2005
Skąd: Będzin

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


W ogóle, wrzuć sobie to zapytanie (najlepiej wydrykuj na stronie wartość $sql) i następnie wpisz bezpośrednio do Panelu Admina MySQL.

bo wydaje mi się że nie masz po prostu wartości data czyli data == null
Go to the top of the page
+Quote Post
Wilu88
post
Post #5





Grupa: Zarejestrowani
Postów: 158
Pomógł: 6
Dołączył: 7.03.2010

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


Brak słów po prostu smile.gif Okazało się że data którą porównuj ze zmiennej musi być jeszcze obarczona dodatkowymi cudzysłowami smile.gif

  1. $sql = 'SELECT count(id) FROM '.$tabela.' WHERE data = "'.$data_wyscigu_nowa.'"';


Dopiero takie zapytanie ruszyło, a ja jestem starszy o 4 godziny szukania problemu smile.gif
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: 21.08.2025 - 17:26