HTH-C.com - Forum
Latest News Latest Threads
Neuerung: Persönliche Galerie
Informationen zur Übernahme der Erweite..
HTH Blog - Version 2.0
#HTH.Systems - Betatester gesucht
Neueröffnung - PHPKit-Award.de
HTH Webchat v3
Letzter Beitrag Happy Birthday Bottyline Weiblicher Benutzer Heute, 0:00 Zeit der letzten Antwort
Letzter Beitrag Herzlich Willkommen Botty Männlicher Benutzer 17.05.2024 - 10:59 Zeit der letzten Antwort
Letzter Beitrag PHPKit 1.6.6 Treffnix Männlicher Benutzer 14.03.2024 - 06:20 Zeit der letzten Antwort
Letzter Beitrag Gibt es eigentlich noch jemand der PHPki.. Treffnix Männlicher Benutzer 14.03.2024 - 06:19 Zeit der letzten Antwort
Letzter Beitrag PHPKit 1.6.6 ohne ASCE auf PHP8x Myrddin Männlicher Benutzer 22.03.2023 - 13:36 Zeit der letzten Antwort
 53.804 Posts & 4.945 Themen in 78 Foren
Forenübersicht » Support / Hilfe » PHPKit 1.6.03 & 1.6.1 » Modifikationen » Liste mit Mitgliedern, Moderat..

Liste mit Mitgliedern, Moderatoren, Admins
9 Beiträge in diesem Thema
 Seiten (1):    1  
08.03.2009 - 04:43 Uhr
Beitrag: #1
Ich versuche momentan eine Liste zu erstellen, in der alle User, die eine bestimmte Zeichenfolge (als Beispiel "XY") im Namen haben angezeigt werden. Zusätzlich sollten sie alphabetisch sortiert aufgelistet sein.

Ich hab versucht die team.php bzw die login/member.php als Basis zu nehmen, aber bin kläglich gescheitert...

Fällt jemandem von euch vielleicht eine mögliche Lösung ein? Einfach nur ein PHP Code, der aus der Datenbank alle User zieht, die "XY" im Namen haben (am Anfang im Nickname, falls das wichtig ist), sie alphabetisch sortiert und dann ein Template (als Beispiel liste_row) bestimmt, für die Anzeige. Damit wär ich schon sehr, sehr glücklich ^^

Zusätzlich sollte dann für jeden aufgelisteten User noch die ICQ Nummer aus der Datenbank gezogen werden, aber wenn der sonstige Code steht, krieg ich das denke ich hin.

Ich wäre euch sehr dankbar, wenn mir jemand helfen könnte.

 
Zum Anfang der Seite
08.03.2009 - 10:58 Uhr
Beitrag: #2
Die SQL-Abfrage wäre so:




1
2
3
4

PHP-Quelltext

$userList=$DB->query("SELECT * FROM ".$db_tab['user']." WHERE user_nick LIKE 'XY%' ORDER by user_nick ASC");
while (
$userinfo=$DB->fetch_array($userList)) {
    
// Auflistung, Inhalt und Ausgabe für die Liste
    
}
Mit user_nick LIKE kannst du bestimmen, nach was gesucht bzw. gefiltert werden soll.
Das XY ist das, wonach gesucht werden soll, also in deinen Fall der Präfix.
Das nachkommende % sagt, das danach unendlich viele unterschiedliche Zeichen folgen können.

Mit ORDER by user_nick ASC wird nach user_nick sortiert.
ASC = Alphabetisch und/oder erste Einträge zuerst.
DESC = Gegenteil von ASC.

 
Zum Anfang der Seite
08.03.2009 - 12:58 Uhr
Beitrag: #3
Vielen Dank für die Hilfe  zwinkern Ich finde es super, dass man hier wirklich immer sofort kompetente Antworten bekommt. Echt top zwinkern


Aber scheinbar bin ich selbst dafür jetzt noch zu dämlich -.-

Ich bekomme, wenn ich die Seite aufrufe, auf der die Auflistung stehen soll, nur Resource id #24 angezeigt und zusätzlich folgenden Fehler:

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /###/###/###/usererliste.php(5) : eval()'d code on line 2

(hab die URL mal durch ### ersetzt, da es "noch" nicht jeder sehen soll)

Dieser Fehler erscheint X mal hintereinander. X steht hier dann für die Anzahl der User, die eigentlich dort stehen sollten. Also zumindest scheint er irgendwie die richtigen User zu finden, da die Anzahl stimmt.

Hier mal meine Dateien:

userliste.php
Hier klicken zum aufklappen


userliste.html
Hier klicken zum aufklappen


userliste_row.html
Hier klicken zum aufklappen



Wo hab ich mal wieder Mist gebaut?...

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Nat - 08.03.2009 - 13:02 Uhr
 
Zum Anfang der Seite
08.03.2009 - 13:17 Uhr
Beitrag: #4
Es liegt daran, daß das Auflistungs-Template bzw. die dafür auszuführende Variable ($user) den gleichen Namen hat, wie die Variable für die SQL-Abfrage.

SQL-Variablen arbeiten in der Regel nicht wie normale Variablen, wo die zuletzt genutzte Variable genommen wird.
Bsp.:
$var='Meine Variable';
$var=10 + 5;
echo $var; // Ausgabe: 15, da die zuletzt genutzte Variable die Rechnung 10 + 5 hat.

Du must entweder die SQL-Variable oder die Template-Variable ändern. Außerdem musste bei der Template-Variable noch ein . (Punkt) machen. Also so:



1

PHP-Quelltext

eval ("\$Variable.= \"".getTemplate("userliste_row")."\";");
Der Punkt sagt, das eine Auflistung entsteht bzw. alle Variablen mit gleichen Namen ausgegeben werden.
Ohne den Punkt kommt, wie oben beschrieben, nur die zuletzt genutzte Variable.

 
Zum Anfang der Seite
08.03.2009 - 13:55 Uhr
Beitrag: #5
Wenn ich es richtig verstanden habe also z.B. so?




1
2
3
4
5
6
7
8

PHP-Quelltext

<?php
$user
=$DB->query("SELECT * FROM ".$db_tab['user']." WHERE user_nick LIKE 'XY' ORDER by user_nick ASC");
while(
$userinfo=$DB->fetch_array($user)) {
$user_nick=$userinfo['user_nick'];
eval (
"\$list.= \"".getTemplate("userliste_row")."\";");

  eval (
"\$site_body.= \"".getTemplate("userliste")."\";");
?>


Jetzt ist das Resource id #24 schonmal weg ^^ Danke  zwinkern

Das x-mal
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /###/###/###/usererliste.php(5) : eval()'d code on line 2
ist leider immer noch vorhanden...

 
Zum Anfang der Seite
08.03.2009 - 14:21 Uhr
Beitrag: #6
Haben deine Templates die Endung .html? Wenn ja, mach das mal in .htm.

Ansonsten besagt die Fehlermeldung, das ungültige Zeichen innerhalb einer Variable im Template fehlerhaft sind.
Sollten aber die Templates von dir so sein, wie weiter oben geschrieben, seh ich da keinen Fehler.

 
Zum Anfang der Seite
08.03.2009 - 14:35 Uhr
Beitrag: #7
Templates sind genau so, wie oben aufgelistet. Natürlich wurde das $member in userliste.html jetzt auch in $list geändert, damit es alles übereinstimmt. Hab die Templates jetzt in .htm umbenannt, aber leider ohne Erfolg.

Wenn ich den Template Teil aus der userliste.php entferne und nur die User einfach mal via echo ausgeben lasse, läuft alles ohne Fehler. Scheint also wirklich an den Templates zu haken.


Gibt es noch einen anderen Code, um ein Template zu bestimmen als den hier?




1

PHP-Quelltext

eval ("\$list.= \"".getTemplate("list_row")."\";");


 
Zum Anfang der Seite
08.03.2009 - 16:02 Uhr
Beitrag: #8
An der Code-Ausgabe liegt es nicht. Es liegt innerhalb des Template.

Hier steht, was die Fehlermeldung ausmacht.
Zeig einfach mal dein aktuelles Template für die User-Ausgabe.

 
Zum Anfang der Seite
08.03.2009 - 17:53 Uhr
Beitrag: #9
hinter dem site_body mal den punkt weg machen.

vllt liegts daran

 
Zum Anfang der Seite
 Seiten (1):    1  

Ähnliche Themen
 
Support Support » Onlineliste - Admins, Moderatoren farbig anzeigen - Letzte Antwort von Kevin am 26.05.08, 18:09 Onlineliste - Admins, Moderatoren farbig anzeigen  (26.05.08, 18:09)
Webseiten Promotion Webseiten Promotion » Daylightradio.de sucht Moderatoren - Letzte Antwort von WEBI am 27.05.08, 17:29 Daylightradio.de sucht Moderatoren  (27.05.08, 17:29)
Support Support » Ergebnismeldung der Admins in der Last Reults Navbox? - Letzte Antwort von k!r!ka am 02.12.12, 07:53 Ergebnismeldung der Admins in der Last Reults Navb..  (02.12.12, 07:53)
Support Support » Wer ist Online - Liste - Letzte Antwort von Tbereit am 07.07.08, 21:29 Wer ist Online - Liste  (07.07.08, 21:29)
Vorschläge Vorschläge » ToDo-Liste: Fehler - Letzte Antwort von WEBI am 23.10.07, 19:58 ToDo-Liste: Fehler  (23.10.07, 19:58)

HTH-C.com - Webmedien & Community