Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Porównywanie dwóch dat z MySQL
Forum PHP.pl > Forum > PHP
Wilu88
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
Tomplus
użyj: DATE_FORMAT($data_wyscigu_nowa,'%Y-%m-%d')
Wilu88
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
Tomplus
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
Wilu88
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
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.