| 
		
	
	
	
		
	Beiträge: 9.560Themen: 197
 Registriert seit: 27.12.2007
 MyBB-Version: 1.8
 
	
		
		
		04.09.2008, 11:02 
(Dieser Beitrag wurde zuletzt bearbeitet: 04.09.2008, 11:15 von Jockl.)
		
	 
		In dem Bereich "Wer ist online?" wird über die "Vollständige Liste" ausgegeben, welcher User sich gerade in welchem Thema befindet. 
Ich würde gerne auf einer "Eigenen Seite" die o.a. Funktionsweise nutzen, um danach zu suchen, welcher eingeloggte User sich gerade auf dieser speziellen Seite befindet und das dann auch anzeigen.
 
Müsste doch prinzipiell machbar sein, oder? Habe mal in der online.php gesucht, bin aber nicht wirklich fündig geworden, wo ermittelt wird, welcher User sich gerade in welchem Thema befindet.
 
Für einen Tipp wäre ich Euch dankbar.    
Edit: 
sorry, sehe gerade, dass ich das Thema in die falsche Ecke gestellt habe. Gehört besser unter Anpassungen->Mods und Addons.
	 
	
	
	
		
	Beiträge: 18.383Themen: 257
 Registriert seit: 09.02.2005
 
	
		
		
		04.09.2008, 11:35 
(Dieser Beitrag wurde zuletzt bearbeitet: 04.09.2008, 11:35 von Michael.)
		
	 
Gruß, 
Michael
Support erfolgt NUR im Forum! Bitte gelöste Themen als "erledigt" markieren.
 Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
 
	
	
	
		
	Beiträge: 438Themen: 47
 Registriert seit: 28.07.2007
 
	
	
		 (04.09.2008, 11:35)Michael schrieb:  Siehe Punkt 5 hier: https://www.mybb.de/forum/thread-20250-p...#pid140833 
Das ist nicht mehr aktuell, da ältere Version.
	 
Gruß, Micha=========
 
	
	
	
		
	Beiträge: 9.560Themen: 197
 Registriert seit: 27.12.2007
 MyBB-Version: 1.8
 
	
	
		ähm, Danke erst einmal für die Antworten, aber ich steh' auf dem Schlauch.    
Die o.a. Links zeigen doch nur, wie man eine "Eigene Seite" in der vollständigen Liste von "Wer ist online" sichtbar macht. Das ist nicht das Problem.
 
Ich möchte auf der neu erstellten Seite quasi eine separate who is online Ausgabe erzeugen, die aber nur die User zeigt, die sich gerade auf dieser Seite befinden.
	 
	
	
	
		
	Beiträge: 18.383Themen: 257
 Registriert seit: 09.02.2005
 
	
	
		Dann musst du die Benutzer aus der Tabelle sessions abrufen. Die aufgerufene Datei wird dort auch gespeichert, so dass sich das relativ einfach realisieren lassen sollte.
	 
Gruß, 
Michael
Support erfolgt NUR im Forum! Bitte gelöste Themen als "erledigt" markieren.
 Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
 
	
	
	
		
	Beiträge: 9.560Themen: 197
 Registriert seit: 27.12.2007
 MyBB-Version: 1.8
 
	
		
		
		04.09.2008, 22:07 
(Dieser Beitrag wurde zuletzt bearbeitet: 04.09.2008, 22:09 von Jockl.)
		
	 
		ich hatte wohl das kleine Wörtchen relativ  überlesen...    
Ich erhalte alles mögliche als Ergebnis bzw. mit folgendem Code gar keines mehr
 PHP-Code:     $query = $db->query("SELECT s.uid, s.location, u.uid, u.username
 FROM ".TABLE_PREFIX."sessions s
 LEFT JOIN ".TABLE_PREFIX."users u ON (s.uid=u.uid)
 WHERE s.location = '/testforum/kiste.php*'
 ORDER BY u.username DESC
 LIMIT 0,100
 ");
 while($data = $db->fetch_array($query))
 {
 $username = "<a href=\"member.php?action=profile&uid={$data['s.uid']}\">".htmlspecialchars_uni($data['u.username'])."</a> - ";
 eval("\$usernames .= \"".$templates->get("kiste_user")."\";");
 }
 
Wie auch immer, etwas sinnvolles erscheint nicht. Wo habe ich denn da meinen Denkfehler? 
Mit dem Aufruf der Seite übergebe ich auch die jeweilige UID des Users und deshalb diese Zeile '/testforum/kiste.php* '.
 
Zu der Sessions-Tabelle noch eine generelle Verständnisfrage. Muss die nicht irgendwann auch mal wieder leer sein, wenn keine User mehr online sind?
 
@Thai-Tiger: 
das passt schon mit der alten Version. Ich hinke dem Trend noch deutlich hinterher.    
	
	
	
		
	Beiträge: 18.383Themen: 257
 Registriert seit: 09.02.2005
 
	
	
		 (04.09.2008, 22:07)Jockl schrieb:  Zu der Sessions-Tabelle noch eine generelle Verständnisfrage. Muss die nicht irgendwann auch mal wieder leer sein, wenn keine User mehr online sind? Auf den ersten Blick sieht der Query richtig aus. Allerdings solltest du noch eine zeitliche Begrenzung einfügen (z.B. 5 Minuten), denn die session-Tabelle wird nicht geleert, wenn sich ein Benutzer abmeldet. Die Daten werden automatisch nach einem bestimmten Zeitraum (ich glaube es ist 1 Monat) gelöscht.
	 
Gruß, 
Michael
Support erfolgt NUR im Forum! Bitte gelöste Themen als "erledigt" markieren.
 Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
 
	
	
	
		
	Beiträge: 9.560Themen: 197
 Registriert seit: 27.12.2007
 MyBB-Version: 1.8
 
	
	
		Mal abgesehen davon, dass ich es leider immer noch nicht hin bekommen habe, die User anzeigen zu lassen, würde das mit der Zeitbegrenzung in etwa so aussehen können? PHP-Code: $timestamp = time();$query = $db->query("
 SELECT s.location, s.time, u.uid, u.username
 FROM ".TABLE_PREFIX."sessions s
 .......
 LIMIT 0,100
 ");
 while($data = $db->fetch_array($query))
 {
 if ($data['s.time'] - $timestamp <= 60*60*5) {
 $username = "<a href=\"member.php?action=profile.........
 }
 }
 
 
	
	
	
		
	Beiträge: 18.383Themen: 257
 Registriert seit: 09.02.2005
 
	
	
		Ich würde das mit in die Datenbankabfrage einfügen, damit du nicht erst alle Ergebnisse erhältst und dann aussortieren musst. PHP-Code: $timestamp = time() - 60*60*5;$query = $db->query("
 SELECT s.location, s.time, u.uid, u.username
 FROM ".TABLE_PREFIX."sessions s
 WHERE s.time > {$timestamp}
 ...
 ");
 
Gruß, 
Michael
Support erfolgt NUR im Forum! Bitte gelöste Themen als "erledigt" markieren.
 Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
 
	
	
	
		
	Beiträge: 9.560Themen: 197
 Registriert seit: 27.12.2007
 MyBB-Version: 1.8
 
	
	
		Erst einmal vielen Dank für den Verbesserungsvorschlag! Für so etwas bin ich immer dankbar!    
Im Prinzip funktioniert jetzt so weit alles. Im Prinzip will heißen, dass ab und an anscheinend User "verschluckt" werden oder auch noch nach längerer Zeit angezeigt werden, ob wohl sie schon geraume Zeit ausgeloggt sind. Zusammen mit der "Wer ist online?"-Liste kann man sich aber ein ganz gutes Bild machen.
	 |