Ich habe eine Tabelle wie folgt aus:Wie führe ich eine Abfrage durch, wenn die Seite fertig geladen ist?
// last_seen
+----+---------+--------------+
| id | id_user | time |
+----+---------+--------------+
| 1 | 545 | 1339412843 |
| 2 | 653 | 1339422601 |
| 3 | 813 | 1339412612 |
| 4 | 1030 | 1339717631 |
+----+---------+--------------+
Jeder Benutzer hat über eine Zeile in der Tabelle. Diese Zeile enthält einen unix_time, der die Zeit der letzten gesehen für jeden Benutzer deklariert.
Auch habe ich dieses PHP-Skript (benannt update_last_seen.php
), die zuletzt für jeden Benutzer pro jeder Anfrage gesehen Updates:
// user is logged
if(isset($_SESSION["LoginValidation"]) && $_SESSION["LoginValidation"] == 1) {
// it is ajax request
if(!empty($_SERVER["HTTP_X_REQUESTED_WITH"]) &&
strtolower($_SERVER["HTTP_X_REQUESTED_WITH"]) === "xmlhttprequest") {
$db
->prepare("UPDATE last_seen SET time = ? WHERE id_user = ?")
->execute(array(time(), $_SESSION['id']));
} -- ajax
} -- logged
Derzeit betreibe ich Skript oben zunächst in index.php
. Ich meine jede Seite aktualisiert last_seen
Tabelle vor dem Laden. Die Anfrage wird also durch das Update verlangsamt.
Jetzt würde ich eine AJAX Push-Anfrage machen, wenn die Seite fertig geladen wurde. Gibt es ein JS-Event, um die Seite vollständig zu erkennen?
den Code ausführen, nachdem Pageload, wenn Sie Code in diesem Block setzen .. – Kuldeep
@Stack Sie willkommen :) – Kuldeep