묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
TR LOOP 사용시 데이타 한개 일때 이상 ㅠㅠ
2014.12.04 09:07
안녕하세요. 웹개발하고 관련없는 이에 종사하는 1인 입니다. XE 모듈을 구글링하면서 배우고 있는대 몇일째 막히는 부분이 있어서 이렇게 도움 부탁 드립니다.
모둘이름.view.php 에서
$args = new stdClass();
$args = Context::getRequestVars();
$output = executeQuery("est.getItemList",$args);
Context::Set('item',$output->data);
$this->setTemplateFile('list');
list.html
<tr loop="$item=>$val,$key">
<td>{val->name}</td>
<td>{val->count}</td>
<tr>
를 실행하면 query로 받아 오는 데이타가 2개이상이면 정상 작동하나 한개일때는 값이 나오지 않으며 query colum의 갯수에 따라 빈칸으로 반복됩니다.
<tr><td></td><td></td></tr>
<tr><td></td><td></td></tr>
select 되는 column이 두개이고 결과값이 1개이면 요렇게요.
cond로 1개일때 2개이상일때 나눠서 출력 가능하나 배우는 입장이라서 머가 잘못 되서 그런지 알고자합니다.
고수님들 도움 부탁드립니다. -.- _._
댓글 2
-
Lansi
2014.12.04 09:44
-
난쥬
2014.12.04 09:49
Lansi님 눈물 나게 감사합니다. 몇일동안 머리 싸메고 있던걸 한방에 ... 복받으실꺼에요 ... -.- _._
0=> array('document_srl'=> 1, 'content'=> 'test'),
1=> array('document_srl'=> 2, 'content'=> 'test2'),
2=> array('document_srl'=> 3, 'content'=> 'test2')
일 경우에
executeQuery는 array('document_srl'=> 1, 'content'=> 'test)만 반환합니다
그래서 루프를 돌면 document_srl, content를 출력하게 됩니다. 물론 document_srl->document_srl 이라서 값이 제대로 안 나오겠죠
이래서 루프를 돌릴 경우에 무조건 배열로 결과값을 반환해주는 executeQueryArray()를 사용해야 합니다.
그러면 한개일 때도 값이 정상적으로 출력됩니다.