글쓴사람 Heffy End
글쓴시간2006년 9월 9일 오전 0시 17분 2초
    제목배열의 전달.. ㅠㅠ
php 파일에서 배열변수를 tpl의 자바스크립트 변수로 받으려고 합니다..

xxx.php 파일------------------------

....
while ($tmp = mysql_fetch_row($fCount))
{
   $i=0; while($i < count($tmp))
   {
       $arrayfileName[] = $tmp[$i];     // 화일명들을 배열값으로 넘기려고..ㅜㅜ
       $i++;
   }
}

$set = array(
   '??????????' => ????????????,        // 다른 세팅들..
   'arrayFN' => $arrayfileName,         // 이렇게 넘겨줍니다.
    );

$tpl->assign('Set', $set);

tpl 파일 -----------

<!--{@ Set}-->
document.write("{Set.arrayFN}");
<!--{/}-->

위처럼 하면 안찍혀서

{Set.arrayFN[0]} 으로 찍으니까 찍히더군요.

뭐가 잘못됐는지 모르겠습니다..

이제 가을인가 보군요. 항상 감사합니다.
양요한 정확히 의도하는 바가 뭔지 모르겠지만,
아래처럼 해보시면 어떤지요.

tpl 파일에서.

<script type='tex/javascript'>
{@Set}
 {@.arrayFN}
   document.write("{..value_}");
 {/}
{/}
</script>
06-09-15 18:11
orblog $arrayfileName이 배열이군요. 배열은 {Set.arrayFN}해서는 안찍히죠.
위에서 하신것처럼 [0]이런식으로 첨자를 주시든지.
양요한님처럼 루프를 돌리셔서 배열처리를 해주셔야죠.
원인은 배열을 그냥 찍을라고 하니깐 안찍히는듯 합니다.
06-09-16 18:08
orblog <script type='tex/javascript'>
{@Set.arrayFN}
   document.write("{.value_}");
{/}
</script>

이렇게 하셔야 하실듯 합니다.
06-09-16 18:09
orblog 양요한님의 오류발견..ㅎㅎ (형식을 말씀 하시고자 하는것이겠지만.ㅎㅎㅎ)
Set은 배열이긴 하나, 반복형이 아니기때문에..
{@ Set}해서 돌리면 큰일날듯 ㅎㅎ ^^
06-09-16 18:12
최호성 for(...){ // for Start;
 $values[] = array(
    'memo'   => $bo[memo],
    'no'         => $bo[no],
    'name'     => funtion_info($bo[no]),
 )
} // for End;

$tpl->assign('values', $values);

탬플릿에선


<1--{@values}-->
   document.write("{.index_} {.name}_{.no}");
<!--{/}-->

이렇게 하시면 됩니다.

또한 여러가지 방법

$boards = array(
        'no'       => $memb['no'],
        'name'     => $memb['name'],
        'email'    => $memb['email'],
        'homepage' => $memb['homepage'],
        'level'    => $memb['level'],
);

for(...){ // for Start;
 $values[] = array(
    'memo'    => $bo[memo],
    'no'      => $bo[no],
    'name'    => funtion_info($bo[no]),
    'boards'  => $boards,
 )
} // for End;

이런식 혹은


$values[] = array(
 memo'  => $memos,
 no'    => $bo[no],
 mem'   =>  array(
        'no'       => $memb['no'],
        'name'     => $memb['name'],
        'email'    => $memb['email'],
        'homepage' => $memb['homepage'],
        'level'    => $memb['level'],
 ) // ; 없음
);  // ; 처리


이런식으로 해서 넘겨도 됩니다.
모두 같이

$tpl->assign('values', $values);

해주시고

<1--{@values}-->
   document.write("{.index_}{.no} [.mem.no]");
<!--{/}-->

이렇게 처리 하셔도 무방 할겁니다.
06-09-21 19:19
    이름
비밀번호
 
Since 2003-03-03 hosted on vultr.com