Smarty: Mehrdimensianales Array

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Smarty: Mehrdimensianales Array

    Code:
    $select_benutzer = mysql_query( "
                                            SELECT
                                                  benutzer_id,
                                                  benutzer_name,
                                                  benutzerpasswort
                                            FROM
                                                  benutzer" );
    
    while( $benutzer_fetch = mysql_fetch_array( $select_benutzer ) )
    {
           $select_zugriff = mysql_query( "
                                            SELECT
                                                  zugriff_id,
                                                  benutzer_id,
                                                  zugriff_bereich_name
                                            FROM
                                                  zugriff
                                            WHERE
                                                  benutzer_id = '". $benutzer_fetch['benutzer_id'] ."' );
    
           $zugriff_fetch = mysql_fetch_array( $select_zugriff );
    
           $benutzer_fetch['zugriff'] = $zugriff_fetch;
    
           $benutzer[] = $benutzer_fetch;
    }
    
    $smarty->assign( "benutzer", $benutzer );
    $smarty->assign( "template", "benutzer.tpl" );
    Hallöchen ^^

    Über dem hier seht ihr ein Codesnippet. Ich denke einige wissen schon worauf ich hinaus will. Ich habe ja das Zugriffsarray und schiebe es in ein Arrayelement vom Benutzerarray, wie kann ich das ganze jetzt ausgeben lassen mit Smarty?

    Hier mal ein einfaches Template ohne groß HTML zu nutzen:

    Code:
    <html>
    <head>
    <title>Test</title>
    </head>
    <body>
    {section name="benutzer" loop=$benutzer}
       Benutzer ID: {$benutzer[benutzer].benutzer_id}
       Benutzer Name: {$benutzer[benutzer].benutzer_name}
       Benutzer Passwort: {$benutzer[benutzer].benutzer_passwort}
    
    
    
       Zugriffe: <a href="index.php?action=zugriff&zugriff_id={}">{}</a>
    
    
    
    {/section}
    </body>
    </html>
    Ich habe die Problemstelle jetzt mal mit Leerzeilen markiert. Mir geht es darum, dass ich mir hier die Bereiche ausgeben lassen will, auf die der User Zugriff hat. Da diese Bereiche ja nun gesondert in einer extra Tabelle in der Datenbank steht, bekomme ich natürlich ein Array zurück, was ich ja auch irgendwie an Smarty, bzw. das Template übergeben muss. Wichtig ist mir vor allem, die Logik im Programmcode zu bewahren und Smarty nicht damit zu belasten. Als nächstes ist mir wichtig eine schöne Lösung zu finden, die auch ordentlich ist und nicht irgendwas schnelles hingeklatscht, was am ende keiner mehr vertseht, bzw. was evtl. funktioniert, obwohl man garnicht geglaubt hat, dass es funktionieren würde.

    Also nochmal zusammengefasst:

    Ich übergebe ein Array an Smarty in dem sich noch ein Array befindet. Das Array in dem Array will ich auslesen mit Smarty. Die Logik darf sich nur im Programmcode abspielen. Eine saubere Lösung sollte da sein. Was muss ich also einsetzen, bzw. was muss ich für eine Funktion verwenden um dieses Array im Array noch auszulesen?

    Mit Section geht das denke ich mal nicht. Hatte da schonmal was probiert, aber das sah schlimm aus und funktionierte auch nicht ^^
    Sah in etw so aus:

    Code:
    {section name="zugriff" loop=$benutzer[benutzer].zugriff}
       <a href="{$benutzer[benutzer].zugriff[zugriff].zugriff_id}">{$benutzer[benutzer].zugriff[zugriff].zugriff_bereich_name}</a>
    {/section}
    Oder funktioniert das doch?
    Muss ich evtl. FOREACH benutzen?
    Oder gibts da noch ne elegantere Lösung?

    Ich danke euch schon im Vorraus.

    TigerXT
    Zuletzt geändert von Tiger_XT; 01.01.2007, 23:10.

  • #2
    z.B.
    http://smarty.php.net/manual/en/lang...on.php#AEN2485

    afaik geht auch alles in ein Array, müsste einfach mit untergeordnetem {section} gehen, aber wenn du meinst das geht nicht *zuck*

    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
    Wie man Fragen richtig stellt

    Kommentar

    Lädt...
    X