Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL] Zapytanie (data)
webspy
post 16.07.2012, 10:58:54
Post #1





Grupa: Zarejestrowani
Postów: 186
Pomógł: 9
Dołączył: 3.03.2008

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


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.
Go to the top of the page
+Quote Post
Kshyhoo
post 16.07.2012, 12:04:51
Post #2





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




  1. $dzisiaj = date("Y-m-d H:i:s");
  2. $zapytanie = "SELECT * FROM tabela WHERE `data` < '".$dzisiaj."' AND (`nazwa` = '".$nazwa."' AND `ip` = '".$ip."')";


Ten post edytował Kshyhoo 16.07.2012, 12:05:43


--------------------
Go to the top of the page
+Quote Post
webspy
post 16.07.2012, 12:21:52
Post #3





Grupa: Zarejestrowani
Postów: 186
Pomógł: 9
Dołączył: 3.03.2008

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


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.  


Ten post edytował webspy 16.07.2012, 12:59:20
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: 22.07.2025 - 08:35