Smarty PHP / şablon çıktı sorunu

2 Cevap php

Ben sorun sayfasından bu çıktılamak var ..

for ( $i = 0; $mainarray[$i] != ''; $i++ ){ 
$query =  mysql_query("SELECT ... FROM ... WHERE id=$i") or die(mysql_error());
while($tmp = mysql_fetch_assoc($query))
{
    $something[] = $tmp;
}
$smarty->assign('stuff'.$i, $something); 
  }

Ben manuel like it yapabilirdi

{section name=i loop=$stuff1}
.....
{/section}
{section name=i loop=$stuff2}
.....
{/section}

ama gerçekten güzel bir yol değil bu.

2 Cevap

Nasıl sadece bir diziye "şeyler" koymak hakkında?

$stuff = arrray();
for ( $i = 0; $mainarray[$i] != ''; $i++ ){ 
    $query =  mysql_query("SELECT ... FROM ... WHERE id=$i") or die(mysql_error());
    while($tmp = mysql_fetch_assoc($query))
    {
        $something[] = $tmp;
    }
    $stuff[] = $something;
}

$smarty->assign('stuff', $stuff);

Sonra şablonda şeyler üzerinde sadece döngü olabilir.

Eğer php kodu bir çok boyutlu dizi ve smarty iç içe bir döngü kullanmak isteyebilirsiniz gibi görünüyor.

Ben php / smarty çalıştım beri süre oldu, bu yüzden bu sözdizimi doğru olmayabilir.

$stuff = array();
foreach ($mainarray as $i) {
    $query =  mysql_query("SELECT ... FROM ... WHERE id=$i") or die(mysql_error());
    $something = array();
    while($tmp = mysql_fetch_assoc($query)) {
    	$something[] = $something;
    }
    $stuff[] = $something;
}
$smarty->assign('stuff', $stuff);

In smarty you would need a nested loop. I would probably butcher the smarty syntax, but this looks like a similar issue: http://www.smarty.net/forums/viewtopic.php?t=14552&highlight=nested+section