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" );
Ü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>
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}
Muss ich evtl. FOREACH benutzen?
Oder gibts da noch ne elegantere Lösung?
Ich danke euch schon im Vorraus.
TigerXT
Kommentar