Siebenschläfer
Hallo, folgendes Problem: Ich bin arbeite gerade an einem Skript, dass zeigen soll, wer gerade online ist.
Ich habe die Tabelle "profil" die folgendermassen aufgebaut ist:
¦ name ¦ online ¦ aktiv ¦
Ein Datensatz könnte etwa folgendermassen aussehen:
¦ peter ¦ 169 ¦ 1242062804 ¦
Bei der Spalte "aktiv handelt es sich um eingetragene Timestamps. Immer wenn jemand die Seite aktualisiert / bzw. online kommt, wird die Spalte "aktiv" mit dem aktuellen Timestamp aktualisiert. Im Feld "online" soll dann die Differenz zwischen der aktuellen Zeit und dem letzten Timestamp eingetragen werden. Also die Anzahl Sekunden die Verstrichen sind, seit der user die Seite das letzte mal aufgerufen hat.
Und da steh ich momentan auf dem Schlauch. Kann mir wer helfen wie ich das hinkriege? Folgendes hab ich mal probiert:
Allerdings werden hier alle Werte der Spalte "online" durch den selben Wert ersetzt (der Letzte Datensatz der durch die while-Schleife geht) Ich will aber, dass bei jedem Datensatz die jeweilige Differenz eingetragen wird.
Kurz: Von jedem Datensatz soll der Wert der Spalte "aktiv" aus der DB geholt werden. Dieser soll dann vom aktuellen timestamp abgezogen werden und das Resultat anschliessend in die Spalte "online" eingetragen werden (--> Update). Dieser Vorgang soll für alle Datensätze gemacht werden.
Ich hoffe ich habe mich einigermassen verständlich ausgedrückt.
Kann mir da jemand weiterhelfen?
grüsse sharky
Ich habe die Tabelle "profil" die folgendermassen aufgebaut ist:
¦ name ¦ online ¦ aktiv ¦
Ein Datensatz könnte etwa folgendermassen aussehen:
¦ peter ¦ 169 ¦ 1242062804 ¦
Bei der Spalte "aktiv handelt es sich um eingetragene Timestamps. Immer wenn jemand die Seite aktualisiert / bzw. online kommt, wird die Spalte "aktiv" mit dem aktuellen Timestamp aktualisiert. Im Feld "online" soll dann die Differenz zwischen der aktuellen Zeit und dem letzten Timestamp eingetragen werden. Also die Anzahl Sekunden die Verstrichen sind, seit der user die Seite das letzte mal aufgerufen hat.
Und da steh ich momentan auf dem Schlauch. Kann mir wer helfen wie ich das hinkriege? Folgendes hab ich mal probiert:
PHP:
<?php
$dbdate = "SELECT aktiv FROM profil";
$query = mysql_query($dbdate);
while ($dsatz = mysql_fetch_assoc($query))
{
$mktime = mktime();
$differenz = $mktime - $dsatz["aktiv"];
$dbaktiv = "UPDATE profil SET online = '$differenz'";
$query2 = mysql_query($dbaktiv);
}
?>
Kurz: Von jedem Datensatz soll der Wert der Spalte "aktiv" aus der DB geholt werden. Dieser soll dann vom aktuellen timestamp abgezogen werden und das Resultat anschliessend in die Spalte "online" eingetragen werden (--> Update). Dieser Vorgang soll für alle Datensätze gemacht werden.
Ich hoffe ich habe mich einigermassen verständlich ausgedrückt.
Kann mir da jemand weiterhelfen?
grüsse sharky
Zuletzt bearbeitet: