[MySQL]Zeitunterschied mit IF Abfrage

jannicars

Erfahrenes Mitglied
Hallo,

kann ich diese PHP Abfrage auch gleich in einen Query einbauen?
Also auf SQL Art lösen?
PHP:
$now = time();
max_off_time = 20;
$time_last_online = $row["last_online"];
// Rechnen
$diff = $now - $time_last_online;
// und Überprüfen
if ($diff <= $max_off_time) {
   echo $row["name"];
}
Und zwar wird bei dieser Abfrage beim timestamp geprüft ob er nicht 20 Sekunden Älter ist als die aktuelle Zeit, wenn er jünger ist, wird er ausgegben, sonst eben nicht.
 
Ich würds so probieren:
SQL:
select name
from table t
where TIME_TO_SEC(TIMEDIFF(NOW(),t.last_online)) < 20

Gruss
Alex
 
Hallo,

So sieht mein Query aus, führt leider nicht zum gewünschten Ergebniss:
Code:
SELECT *
FROM user u
WHERE TIME_TO_SEC(TIMEDIFF(NOW(), u.last_online)) <= 20
Last_online ist im UNIX Timestamp abgespeichert.
Irgendjemand eine Idee, wo der Fehler liegt?
 
Hallo zusammen,

ich hoffe das liest noch jemand auch wenn es erledigt ist, ich versuche grade genau das selbe zu erreichen, habe die abfrage von hier teilweise übernommen erhalte jedoch einen Fehler.

Hier mal mein script:

PHP:
= mysql_query("SELECT * FROM userdata, profildata WHERE  username = user_id AND UNIX_TIMESTAMP() -  last_active <= 900");

der Fehler lautet:


Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in....

gespeichert hab ich last_active in der DB als timestamp standart current_timestamp.

Danke schonmal

lg Godstyle
 
ich habe das problem gelöst, es war ein schreib fehler in last_activ es ist ohne e. sagte ja im grunde die fehlermeldung, was nun passiert ist, dass er mir alle user als online anzeigt
 

Neue Beiträge

Zurück