2009-10-16 3 views
1

내가 문제 페이지에이를하고 출력하기를 ..멋지 PHP/템플릿 출력 문제

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); 
    } 

내가

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

처럼을 수동으로 실시하지만, 정말 좋은 방법이되지 이잖아 수 있습니다.

답변

2

"stuff"를 배열에 넣는 것은 어떻습니까?

$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); 

그런 다음 템플릿의 내용을 반복 할 수 있습니다.

0

PHP 코드에서 다차원 배열을 사용하고 멋지게 중첩 된 루프를 사용하려는 것처럼 보입니다.

php/smarty로 작업 한 이래로이 구문이 올바르지 않을 수 있습니다.

$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); 

멋지게 중첩 된 루프가 필요합니다. 아마도 현명한 구문을 정육점으로 만들지 만 유사한 문제인 것처럼 보입니다. http://www.smarty.net/forums/viewtopic.php?t=14552&highlight=nested+section