Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/time] Problem z pobieraniem rekordów
Forum PHP.pl > Forum > PHP
oomaster
Witam

od 1,5 godziny nie mogę znaleść błędu w pobieraniu:
  1. <?
  2. $OnLineLimit=300;
  3.  
  4. $OnLineAsk = @mysql_query("SELECT * FROM tabela WHERE online > ".(time()-$OnlineLimit)." ORDER BY login") or die(mysql_error());
  5.  
  6. while ($OnLineBack = mysql_fetch_array($OnLineAsk)) {
  7. $login = $OnLineBack['login'];
  8.  
  9. echo "<b>$login...</b><br/>";
  10. }
  11. ?>


Połączenie z bazą mam według obliczeń użytkownik powinien być online, żadnego błędu nie wykrywa. Jedynym błędem może być zapytanie, chociaż nie widzę w nim błędu.

Czy może mi ktoś powiedzieć gdzie tu jest błąd.
phpion
Usuń @ sprzed mysql_query i zobacz co ci się pokaże.
Grzyw
SQL query wygląda OK. A sprawdź poprzez klienta MySQL w bazie, czy dobrze zapisywane masz informacje w polu online. Bez użycia PHP. Wygląda mi to na błąd w aktualizowaniu tej tabeli, skoro zapytanie jest OK, a nie wyświetla poprawnych informacji.
kossa
funkcja time() jest funkcją mysql więc powinna być w "zapytaniu" a nie jako z php dodawana bo php najpierw próbuje wywołać funkcję time() a ma to zrobić sql. Chyba że masz taką funkcję, to cofam co napisałem.

  1. <?php
  2. $OnLineAsk = @mysql_query("SELECT * FROM tabela WHERE online > (time()-".$OnlineLimit.") ORDER BY login") or die(mysql_error());
  3. ?>


Łukasz
Grzyw
Funkcja time() istnieje w PHP i zwraca obecną wartość unix'owego znacznika czasu.
oomaster
w phpMyAdmin ładnie wyświetliło rekord angrysmiley.gif
  1. SELECT * FROM moto2_user WHERE online > '.(time()-$OnlineLimit).'
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.