Maniac
Erfahrenes Mitglied
Hallo Gemeinde,
Ich möchte gerne auf Smarty umsteigen. Doch erste Tests ergaben das ich da wohl doch noch defizite habe.
Problem ist, ich habe eine Datenbankabfrage welche in ner "While-Schleife" wiedergegeben wird. Dort stimmt die Sortierung noch, welche ich über das SQL-Statement möchte. Smarty möchte das aber in einem Array haben und ich soll das dann per "foreach" im template ausgeben. Funktioniert soweit auch, nur ist die Sortierung dann weg
Also ausgabe zb in der While-Schleife:
hier wird alles so ausgegeben wie ich es möchte, genau die richtige Sortierung.
Smarty möchte das aber so:
und im template dann ausgeben:
hier geht aber in diesem Array "$datenarray" meine ganze Sortierung die ich per SQL mache verloren. Wie kann ich das umgehen?
Ich möchte gerne auf Smarty umsteigen. Doch erste Tests ergaben das ich da wohl doch noch defizite habe.
Problem ist, ich habe eine Datenbankabfrage welche in ner "While-Schleife" wiedergegeben wird. Dort stimmt die Sortierung noch, welche ich über das SQL-Statement möchte. Smarty möchte das aber in einem Array haben und ich soll das dann per "foreach" im template ausgeben. Funktioniert soweit auch, nur ist die Sortierung dann weg
Also ausgabe zb in der While-Schleife:
PHP:
echo "<table>";
$sql=mysql_query("SELECT foo FROM bar ORDER BY foobar DESC");
while($res = mysql_fetch_array($sql))
{
echo "<tr>";
echo "<td>".$res[1] . $res[2] .$res[3] . $res[4] . $res[5]."</td>";
echo "</tr>";
}
echo "</table>";
hier wird alles so ausgegeben wie ich es möchte, genau die richtige Sortierung.
Smarty möchte das aber so:
PHP:
$sql=mysql_query("SELECT foo FROM bar ORDER BY foobar DESC");
while($res = mysql_fetch_array($sql))
{
$datenarray[] = $res;
}
$smarty = new Smarty();
$smarty->assign('foobar', $datenarray);
$smarty->display('template.tpl');
Code:
<table>
{foreach from=$foobar item=foo}
<tr>
<td>Hier steht {$foo.foo} und hier folgt {$foo.bar}</td>
</tr>
{/foreach}
</table>
hier geht aber in diesem Array "$datenarray" meine ganze Sortierung die ich per SQL mache verloren. Wie kann ich das umgehen?
Zuletzt bearbeitet: