array ausgabe problem

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:

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');
und im template dann ausgeben:

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:
ich sehe grad das es hier in der Arbeit funktioniert. Kann mir das Phänomen auch nicht beschreiben.
Gestern zuhause Local mit der selben localen Distri war die Sortierung vom Array weg. Werde ich heute Abend mal vergleichen.
 
Zurück