Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MYSQL] Problem z zapytaniem
todaro
post
Post #1





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 4.11.2007

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


Mam takie zapytanie:
  1. "SELECT DATEDIFF(NOW(), last_log) AS ile_dni, ranga FROM tabela WHERE (ile_dni=0)"

Zapytanie to nie działa, powodem jest dopisanie przeze mnie fragmentu:
  1. WHERE (ile_dni=0)


Celem zapytania ma być wyświetlenie użytkowników, którzy odwiedzili stronę przez ostatnie 24h.

Być może problem da się rozwiązać w inny sposób. Poniżej zamieszam nieco dłuższy kod, który daje pożądany efekt, lecz wydaje mi się, że ten sposób za bardzo obciąża bazę danych.

  1. <?php
  2. $ilosc='0';
  3.  
  4. $zapytanie = "SELECT DATEDIFF(NOW(), last_log) AS ile_dni, ranga FROM tabela";
  5. $idzapytania = mysql_query($zapytanie);
  6. while ($wiersz = mysql_fetch_row($idzapytania))
  7. {
  8.  
  9. if ($wiersz[0]=='0') { $ilosc=$ilosc+1; }
  10.  
  11. }
  12.  
  13. if ($ilosc>'0') {
  14.  
  15. echo 'Dzisiaj odwiedzili nas: ';
  16.  
  17. $zapytanie = "SELECT username, last_log, DATEDIFF(NOW(), last_log) AS ile_dni FROM tabela ORDER BY last_log DESC";
  18. $idzapytania = mysql_query($zapytanie);
  19. while ($wiersz = mysql_fetch_row($idzapytania))
  20. {
  21.  
  22. if ($wiersz[2]=='0') echo $wiersz[0];
  23.  
  24. }
  25.  
  26. }
  27. ?>
Go to the top of the page
+Quote Post
sebekzosw
post
Post #2





Grupa: Zarejestrowani
Postów: 437
Pomógł: 42
Dołączył: 16.04.2007

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


Spróbuj zmienić
  1. WHERE (ile_dni=0)
na
  1. WHERE ile_dni='0'
Go to the top of the page
+Quote Post
nevt
post
Post #3





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

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


  1. SELECT DATEDIFF(NOW(), last_log) AS ile_dni, ranga FROM tabela WHERE DATEDIFF(NOW(), last_log)=0;

albo
  1. SELECT * FROM (SELECT DATEDIFF(NOW(), last_log) AS ile_dni, ranga FROM tabela) AS tmp WHERE ile_dni=0;

powodzenia.


--------------------

-
Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... -
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: 19.08.2025 - 16:13