[Smarty] 2 Dimensionale Array ausgeben?

PostmanX

Mitglied
Hi,

Ich hab schon gestern den ganzen Tag gegoogelt aber nichts gefunden, was auch funktioniert hat.

Ich habe hier einen Beispiel code:


PHP:
for ($iii = 0; $iii <= $ma; $iii++) { 
$_POST = $_POST_DATA[$iii];
//Infos aus $_POST laden


//Dann In Array speichern
$code2 = array();
$code2['id2'] = $id2;
$code2['id'] = $id;
$code = array();
$code[$iii] = $code2;

}
$smarty->assign("code",$code);
$smarty->display('code.tpl');

Nun könnte ich per PHP die Infos so laden:
$code[0][id]
$code[0][id2]
$code[1][id]
$code[1][id2]

In Smarty mache ich das so:

{foreach from=$code item=code}

{$code.id} {$code.id2} <br />

{/foreach}

Das Problem ist wenn ich $code[$iii] nur einmal hab also $iii nur 0 ist, dann geht der code, wenn ich aber code[$iii] 2 oder nochmehrmals habe, dann gibt smarty nur den letzten code aus.

Wie mache ich das, dass alle ausgelesen werden?
 
Ich denke die selbe Benennung ist das Problem. Deshalb mal folgende Lösung:
Code:
{foreach from=$code item="code2"}
{$code2.id} {$code2.id2} <br />
{/foreach}

Oder mit Section:
Code:
{section name="i" loop=$code}
{$code[i].id} {$code[i].id2}<br />
{/section}
 
Danke für die Antwort. Ich habe beide codes Probiert. Bei beiden ist das gleiche Problem, der gibt nur einmal den letzten Code aus.

Also wenn man jetzt ein array so hat:

$a[namen] = "Ein Name";
$b[0] = $a;
$a[namen] = "Ein Name2";
$b[1] = $a;

Dann gibt mein code nur

Ein Name2 aus

Ich glaube, das liegt an mein Array.


Falls du ICQ hast kann ich dir das Problem mal zeigen.

64539613
 
Zurück