Portál AbcLinuxu, 7. května 2025 04:34
$rows = array();
while ($rows[] = mysql_fetch_assoc($result)) {}
$smarty->assign('rows', $rows);
ve SMARTY
{foreach from=$rows item=row}
{$row.name}
{/foreach}
a chci se zeptat jestli je to ten nejlepší způsob... protože takhle se vlastně stanou ty cykly dva místo jednoho. Jeden na straně php když se plní pole tim while. while ($rows[] = mysql_fetch_assoc($result)) {} a pak ještě další for cyklus ve SMARTY {foreach from=$rows item=row}. Takhle se to má dělat?
Jinde jsem dostal tuhle odpověď, ale bez dalšího vysvětlení to vůbec nechápu : "Vylepšené řešení je zabalit to do databázové vrstvy, která zpřístupní data přes nějakou metodu fetch() apod."
Děkuji
Řešení dotazu:
PDOStatement::fetchAll
viz http://www.php.net/manual/en/pdostatement.fetchall.php
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.