Query & PHP Anzeige in phpbb (functions)

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Mariella
Mitglied
Beiträge: 5
Registriert: 04.12.2017 12:23

Query & PHP Anzeige in phpbb (functions)

Beitrag von Mariella »

Hallo Community,

ich habe nicht die passende Kategorie gefunden, ich hoffe diese hier ist soweit in Ordnung.

Folgende Frage (die für einen erfahrenen PHPler sicher einfach zu lösen ist, ich komme aber mit meinem casual-Wissen nicht auf die Lösung) habe ich an euch, nachdem ich nun einige Zeit erfolglos war:
Für die Anzeige der aktiven Online-Mitglieder in einem Chat gibts diesen Code-Schnipsel, der wunderbar funktioniert:

Code: Alles auswählen

	// Chatmitglieder von phpbb
	$chatters = '';
    $sql = 'SELECT u.user_id, u.username, u.user_colour FROM ajax_chat_online c, ' . USERS_TABLE . ' u
    WHERE c.userID = u.user_id';

	$result = $db->sql_query($sql);
    while ($row = $db->sql_fetchrow($result)) {   
       $chatters .= get_username_string('full', $row['user_id'], $row['username'], $row['user_colour']) . ', ';
    }
    $db->sql_freeresult($result);

    if ($chatters == '') {$chatters = 'Keine Mitglieder im Chat';}
	else {$chatters = '<b>Im Chat:</b>&nbsp;</a>' . substr($chatters, 0, -2);}
Nun will ich aber auch Gäste anzeigen lassen und letztlich die (noch vereinfachte) Ausgabe des SQL-Querys
"SELECT userName FROM `ajax_chat_online` WHERE 1" mir anzeigen lassen.

Code: Alles auswählen

	// Chatgäste von phpbb
	
	$chatters = '';
    $sql = 'SELECT userName FROM `ajax_chat_online` WHERE 1';

	$result = $db->sql_query($sql);
   [color=#BF4040] while ($row = $db->sql_fetchrow($result)) {   
       $chatters .= get_username_string('full', $row['user_id'], $row['username'], $row['user_colour']) . ', ';
    }[/color]
    $db->sql_freeresult($result);

    if ($chatters == '') {$chatters = 'Keine Mitglieder im Chat';}
	else {$chatters = '<b>Im Chat:</b>&nbsp;</a>' . substr($chatters, 0, -2);}
Ich komme aber überhaupt nicht zurecht mit
while ($row = $db->sql_fetchrow($result)) {
$chatters .= get_username_string('full', $row['user_id'], $row['username'], $row['user_colour']) . ', ';
Ich verstehe schon was gemacht wird der Username aus einer der phpbb-Tabelle wird mit Farbe ausgegeben.

Wie aber müßte das nun lauten, wenn ich eben ohne die zweite Tabelle das anzeigen lassen will?
Falls jemand mir die Lösung sagen könnte, würde ich mich sehr freuen.
cpg
Mitglied
Beiträge: 510
Registriert: 24.11.2007 12:43
Kontaktdaten:

Re: Query & PHP Anzeige in phpbb (functions)

Beitrag von cpg »

Moin,

vielleicht wäre es gut, sich das einmal anzuschauen:

How to display members of a custom user group in a custom color (phpBB3)

https://github.com/Frug/AJAX-Chat/wiki/ ... user-group

... und dann mal weiter tüfteln.

Um was für "Gäste" handelt es sich bei Dir? Man kann ohne Anmeldung/Registrierung chatten?
Heißen die Gäste alle "Gast" - oder können sie sich einen Namen aussuchen?

Gruß
cpg
Mariella
Mitglied
Beiträge: 5
Registriert: 04.12.2017 12:23

Re: Query & PHP Anzeige in phpbb (functions)

Beitrag von Mariella »

Hallo cpg,

ich kenne die Website von github schon.
Es geht ja grundlegend nicht um die Erweiterung sondern um PHP, da ist es doch irrelevant welche Tabelle, welche User usw.

Ich moechte gerne Gaeste die im Chat sind auch anzeigen lassen und nicht nur die phpbb Mitglieder.
Ich tuefftel ja gerne, aber da verstehe ich PHP zu wenig, daher wende ich mich an das Forum, wenn ich selbst auf die loesung kommen koennte wuerde ich ja nicht in ein Forum schreiben.


lg
Benutzeravatar
Mahony
Ehemaliges Teammitglied
Beiträge: 12178
Registriert: 17.11.2005 22:33
Wohnort: Ostfildern Kemnat
Kontaktdaten:

Re: Query & PHP Anzeige in phpbb (functions)

Beitrag von Mahony »

Hallo
Die Antwort von cpg war schon richtig. Wenn du das Snippet einbaust, kannst du die Gruppe Gäste (Gruppen-ID = 1) anzeigen lassen.

Grüße: Mahony
Taekwondo in Berlin
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
Mariella
Mitglied
Beiträge: 5
Registriert: 04.12.2017 12:23

Re: Query & PHP Anzeige in phpbb (functions)

Beitrag von Mariella »

Icih habe versucht darüber weiterzukommen, aber es scheitert an meinen PHP Kenntnissen.
Die Gäste sind User die auf den Chat gehen, nicht registriert sind und im Chat landen (Gast#1234 unterschiedliche nummern). Die Registrierten kommen von PHPBB.
Ich dachte es wäre eine einfach zu bauende Geschichte, muss ich mir doch einen PHP-Spezialisten suchen. sehr schade.

Aber danke für die Tips.
Benutzeravatar
Mahony
Ehemaliges Teammitglied
Beiträge: 12178
Registriert: 17.11.2005 22:33
Wohnort: Ostfildern Kemnat
Kontaktdaten:

Re: Query & PHP Anzeige in phpbb (functions)

Beitrag von Mahony »

Hallo
Der Code in den Chat-Dateien hat sich teilweise geringfügig geändert.

Generell funktioniert das ganze aber. Ich habe dir hier mal die geänderten Chat-Dateien hoch geladen >>> http://phpbb3.pytalhost.com/chat.zip

EDIT: ...und im Zusammenhang mit diesen Änderungen >>> http://phpbb3.pytalhost.com/viewtopic.p ... =737#p4635 wird dir die Anzahl UND die Namen der User im Chat angezeigt (die Namen werden im Mouseover angezeigt - also wenn du mit der Maus über die Chat-Anzeige gehst).

Grüße: Mahony
Zuletzt geändert von Mahony am 14.02.2018 18:19, insgesamt 1-mal geändert.
Taekwondo in Berlin
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
cpg
Mitglied
Beiträge: 510
Registriert: 24.11.2007 12:43
Kontaktdaten:

Re: Query & PHP Anzeige in phpbb (functions)

Beitrag von cpg »

Moin,
Der Code in den Chat-Dateien hat sich teilweise geringfügig geändert.
Ich weiß, "lohnt sich das?" ist eine schlechte Frage :)
Der Chat läuft bei mir recht stabil; ich habe da keine Klagen. Trotzdem frage ich mal: um welche "geringfügigen Änderungen" handelt es sich?

Gruß und danke
cpg
Benutzeravatar
Mahony
Ehemaliges Teammitglied
Beiträge: 12178
Registriert: 17.11.2005 22:33
Wohnort: Ostfildern Kemnat
Kontaktdaten:

Re: Query & PHP Anzeige in phpbb (functions)

Beitrag von Mahony »

Hallo
In der Anleitung heißt es
OPEN

chat/js/chat.js

FIND

Code: Alles auswählen

if(this.userRole == 1 || this.userRole == 2 || this.userRole == 3) {
Der zu suchende Code lautet jetzt aber

Code: Alles auswählen

if(this.userRole === '1' || this.userRole === '2' || this.userRole === '3') {
Demzufolge lautet der zu ersetzende Code auch nicht mehr

Code: Alles auswählen

if(this.userRole == 1 || this.userRole == 2 || this.userRole == 3 || this.userRole == 5) {

sondern

Code: Alles auswählen

if(this.userRole == '1' || this.userRole == '2' || this.userRole == '3' || this.userRole == '5') {
Dann heißt es
FIND

Code: Alles auswählen

if((((this.userRole == 1 && this.allowUserMessageDelete && (userID == this.userID ||
Das muss jetzt aber heißen
FIND

Code: Alles auswählen

if((((this.userRole === '1' && this.allowUserMessageDelete && (userID === this.userID ||
und anstelle von
REPLACE WITH
Tip: Replace the preceding line to find with the following line.

Code: Alles auswählen

if(((((this.userRole == 1 || this.userRole == 5) && this.allowUserMessageDelete && (userID == this.userID ||
muss es jetzt heißen
REPLACE WITH
Tip: Replace the preceding line to find with the following line.

Code: Alles auswählen

if(((((this.userRole === '1' || this.userRole == '5') && this.allowUserMessageDelete && (userID === this.userID ||
Grüße: Mahony
Taekwondo in Berlin
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
cpg
Mitglied
Beiträge: 510
Registriert: 24.11.2007 12:43
Kontaktdaten:

Re: Query & PHP Anzeige in phpbb (functions)

Beitrag von cpg »

Danke und schönen Abend

cpg
Antworten

Zurück zu „Coding & Technik“