Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Zapytanie (data)
Forum PHP.pl > Forum > Przedszkole
webspy
Witam,

mam problem z zapytaniem mysql, posiadam table która ma dane:

nazwa | ip | data

leszek | 1.2.3.4 | 2012-07-16
leszek2 | 1.2.3.4 | 2012-07-16
leszek3 | 1.2.3.4 | 2012-07-16
leszek | 1.2.3.4 | 2012-07-9
leszek | 1.2.3.4 | 2012-07-3
leszek4 | 1.2.3.4 | 2012-07-16
leszek5 | 1.2.3.4 | 2012-07-16

zapytanie polega na tym aby sprawdzało czy dane imie i ip ma date mniejsza od 3 dni, jesli z danego ip glosowano ostatnio na tą nazwę ponad 3 dni temu to może ponownie głosować.

  1. $zapytanie = "SELECT * FROM tabela WHERE `data` < (NOW() - INTERVAL 3 DAY) AND (`nazwa` = '".$nazwa."' AND `ip` = '".$ip."')";


tylko ze zawsze mi pokazuje ze jest zero rekordow co z tym jest nie tak? Jak to mozna rozwiazać?
Tak patrze i nawet jakby działało to zapytanie to i tak będzie robić błąd bo znajdzie poprzednia date i pokaze ze jest przynajmniej jeden taki rekord, a ja chce aby sprawdzał najwyższą datę z tego ip i nazwy.
Kshyhoo
  1. $dzisiaj = date("Y-m-d H:i:s");
  2. $zapytanie = "SELECT * FROM tabela WHERE `data` < '".$dzisiaj."' AND (`nazwa` = '".$nazwa."' AND `ip` = '".$ip."')";
webspy
A może dam aby mi wyszukało rekordu z nazwa i ip z tym że z sortowaniem daty aby była najwyższa data = DESC
i dopiero wtedy porownać normalnie w php czy jest wiecej niż 3 dni od ostaniego glosowania z tego ip

Poradziłem sobie, może to nie jest zbyt dobrze ale działa, nie mogę wymyślić jednego zapytania.


  1. $zapytanie4 = "SELECT * FROM tabela WHERE `nazwa` = '".$nazwa."' AND `ip` = '".$ip."' ORDER BY `data` DESC LIMIT 1";
  2. $wykonaj4 = mysql_query ($zapytanie4);
  3. while($wiersz=mysql_fetch_array ($wykonaj4)) {
  4. $id = $wiersz['id'];
  5. }
  6. $zapytanie5 = "SELECT * FROM tabela WHERE `data` < (NOW() - INTERVAL 3 DAY) AND `id` = '".$id."' LIMIT 1";
  7. $wykonaj5 = mysql_query ($zapytanie5);
  8. $ilosc_wierszy3 = mysql_num_rows($wykonaj5);
  9.  
  10. if ($ilosc_wierszy3 == 0) {
  11. echo "Już głosowałeś";
  12.  
  13. } else {
  14. echo "Zagłosowano";
  15. }
  16.  
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.