Gruppen als Liste: Nur neueste wird angezeigt

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
Benutzeravatar
TC Stahl
Mitglied
Beiträge: 123
Registriert: 07.08.2004 17:10
Wohnort: Jena
Kontaktdaten:

Gruppen als Liste: Nur neueste wird angezeigt

Beitrag von TC Stahl »

Hi

Ich habe an der groupcp.php ein wenig rumgebastelt, um die Gruppenanzeige nicht mehr in Option-Box zu haben, sondern als normale fortlaufende Liste.

Mein Problem: Es wird jetzt immer nur die zuletzt erstellte Gruppe angezeigt. Meine Änderungen :

Code: Alles auswählen

if  ( $row['group_type'] != GROUP_HIDDEN || $userdata['user_level'] == ADMIN )
                {
                        $s_group_list_opt = $row['group_name'] ;
                        $s_group_number_opt = $row['group_id'] ;
                }
        }
        $s_group_list = '<a href="' . append_sid("groupcp.$phpEx?"  . 'g' . '=' . $s_group_number_opt) . '">' . $s_group_list_opt . '</a>';

        if ( $s_group_list_opt != '' || $s_pending_groups_opt != '' || $s_member_groups_opt != '' )
        {
Das ganze spielt sich um die Zeilen 1222-1232 ab.

Zum vergleich der original Code:

Code: Alles auswählen

if  ( $row['group_type'] != GROUP_HIDDEN || $userdata['user_level'] == ADMIN )
                {
                        $s_group_list_opt .='<option value="' . $row['group_id'] . '">' . $row['group_name'] . '</option>';
                }
        }
        $s_group_list = '<select name="' . POST_GROUPS_URL . '">' . $s_group_list_opt . '</select>';

        if ( $s_group_list_opt != '' || $s_pending_groups_opt != '' || $s_member_groups_opt != '' )
        {
Wo ist der Fehler?


PS: Ich hoffe mal, das ist hier das richtige Forum für mein Problem :-?
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Der Originalcode hängt innerhalb der Schleife mit $s_group_list_opt .= .. jede Gruppe an die Variable an, dein Code überschreibt diese Variable jedoch jedesmal. Im Prinzip musst du diesen Teil

Code: Alles auswählen

$s_group_list = '<a href="' . append_sid("groupcp.$phpEx?"  . 'g' . '=' . $s_group_number_opt) . '">' . $s_group_list_opt . '</a>'; 
in die Schleife setzen und das = durch .= ersetzen
KB:knigge
Benutzeravatar
TC Stahl
Mitglied
Beiträge: 123
Registriert: 07.08.2004 17:10
Wohnort: Jena
Kontaktdaten:

Beitrag von TC Stahl »

Jetzt erscheinen zwar die Namen der Gruppen nebeneinander. Doch sind alle zusammen mit der gleichen url verlinkt. Die setzt sich am Ende aus allen IDs der jeweiligen Gruppen zusammen.
Wie bekomme ich einen Umbruch dort rein, sodaß die Gruppen untereinander stehen und jede mit ihrer eigenen url verlinkt ist?

Neuer Code:

Code: Alles auswählen

$s_group_list_opt = '';
        while( $row = $db->sql_fetchrow($result) )
        {
                if  ( $row['group_type'] != GROUP_HIDDEN || $userdata['user_level'] == ADMIN )
                {

                        $s_group_list_opt .= $row['group_name'] ;
                        $s_group_number_opt .= $row['group_id'] ;
                                        }
        }
        $s_group_list = '<a href="' . append_sid("groupcp.$phpEx?"  . 'g' . '=' . $s_group_number_opt) . '">' . $s_group_list_opt . '</a>';

        if ( $s_group_list_opt != '' || $s_pending_groups_opt != '' || $s_member_groups_opt != '' )
        {
Wenn ich den . bei

Code: Alles auswählen

$s_group_number_opt .= $row['group_id'] ;
weglasse, wird als "Gesamt-Link" die url der neuesten Gruppe generiert (also ähnlich wie beim Eingangsproblem).

PS: Habt bitte Geduld mit einem php-Neuling :wink:
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Pyramide hat geschrieben:Im Prinzip musst du diesen Teil

Code: Alles auswählen

$s_group_list = '<a href="' . append_sid("groupcp.$phpEx?"  . 'g' . '=' . $s_group_number_opt) . '">' . $s_group_list_opt . '</a>'; 
in die Schleife setzen und das = durch .= ersetzen
Also dahin, wo jetzt

Code: Alles auswählen

$s_group_list_opt .= $row['group_name'] ;
$s_group_number_opt .= $row['group_id'] ; 
steht
KB:knigge
Benutzeravatar
TC Stahl
Mitglied
Beiträge: 123
Registriert: 07.08.2004 17:10
Wohnort: Jena
Kontaktdaten:

Beitrag von TC Stahl »

Jetzt gibt es zwar einen Umbruch und die erste Gruppe wird richtig dargestellt. Doch die folgenden werden einfach nur erweitert:
Gruppe 1
Gruppe1Gruppe2
Gruppe1Gruppe2Gruppe3 ...
Der neue Code:

Code: Alles auswählen

$s_group_list_opt = '';
        while( $row = $db->sql_fetchrow($result) )
        {
                if  ( $row['group_type'] != GROUP_HIDDEN || $userdata['user_level'] == ADMIN )
                {

                        $s_group_list_opt .= $row['group_name'];
                        $s_group_number_opt .= $row['group_id'];

$s_group_list .= '<a href="' . append_sid("groupcp.$phpEx?"  . 'g' . '=' . $s_group_number_opt) . '">' . $s_group_list_opt . '</a><br>';

                                        }

        }


        if ( $s_group_list_opt != '' || $s_pending_groups_opt != '' || $s_member_groups_opt != '' )
Muß ich noch an anderer Stelle etwas ändern? Oder könnte es an der Einbindung im tpl liegen: Ich verwende das originale

Code: Alles auswählen

{GROUP_LIST_SELECT}
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Bevor wir noch zehnmal aneinander vorbeireden:

Code: Alles auswählen

$s_group_list = '';
        while( $row = $db->sql_fetchrow($result) )
        {
                if  ( $row['group_type'] != GROUP_HIDDEN || $userdata['user_level'] == ADMIN )
                {
                        $s_group_list .= '<a href="' . append_sid("groupcp.$phpEx?"  . 'g' . '=' . $row['group_id']) . '">' . $row['group_name'] . '</a><br>';
                }

        }


        if ( $s_group_list_opt != '' || $s_pending_groups_opt != '' || $s_member_groups_opt != '' )
KB:knigge
Benutzeravatar
TC Stahl
Mitglied
Beiträge: 123
Registriert: 07.08.2004 17:10
Wohnort: Jena
Kontaktdaten:

Beitrag von TC Stahl »

Danke für die Hilfe. Ich hoffe, du hast nicht allzu viele Jahre an mich verloren :wink:

Seltsamerweise mußte ich trotzdem noch

Code: Alles auswählen

$s_group_list_opt = $row['group_name'];
darübersetzen. Nur mit

Code: Alles auswählen

$row['group_name']
erschien lediglich die Meldung: Es existieren keine Gruppen.

Also, mit diesem Code funktioniert es jetzt:

Code: Alles auswählen

$s_group_list_opt = '';
        while( $row = $db->sql_fetchrow($result) )
        {
                if  ( $row['group_type'] != GROUP_HIDDEN || $userdata['user_level'] == ADMIN )
                {

                        $s_group_list_opt = $row['group_name'];

$s_group_list .= '<a href="' . append_sid("groupcp.$phpEx?"  . 'g' . '=' . $row['group_id']) . '">' . $s_group_list_opt . '</a><br>';

                                        }

        }


        if ( $s_group_list_opt != '' || $s_pending_groups_opt != '' || $s_member_groups_opt != '' )   

...
Ist daran irgend etwas auszusetzen? (Sicherheit, Stabilität o.ä.)
Wenn nicht, würde ich es in den 2. Beitrag von mir zu diesem Thema setzen: Ich hatte im Mod-Forum gefragt, wie man eine Gruppendarstellung als Liste erzeugen kann.
Benutzeravatar
n3bUr
Mitglied
Beiträge: 155
Registriert: 08.02.2005 16:23
Wohnort: Berlin
Kontaktdaten:

Beitrag von n3bUr »

Ich habe es versucht bei mir einzubauen, hat aber leider nicht funktioniert.
Könntet ihr vielleicht nocheinmal eine genauere Einbauanleitung schreiben?
Danke schonmal!
Benutzeravatar
n3bUr
Mitglied
Beiträge: 155
Registriert: 08.02.2005 16:23
Wohnort: Berlin
Kontaktdaten:

Beitrag von n3bUr »

*schieb!*
Benutzeravatar
MC-Meyer
Mitglied
Beiträge: 2
Registriert: 27.02.2007 14:30

Beitrag von MC-Meyer »

also daran wäre auch sehr interessiert. so ein MOD fehlt auf jeden fall noch.
habe es auch mal eingebaut, es ist aber nichts passiert. habe immer noch das pulldown menü.
wäre auch von einen kompletten hack mit anleitung nicht abgeneigt :D
Antworten

Zurück zu „Coding & Technik“