묻고답하기
익명 댓글 순서설정 후 페이지에 오류가 납니다 ㅜㅜㅜ
2016.12.17 19:23
modules > skins > sketchbook5 > comment.html
해당 파일을 익명 게시판 댓글 순서 부여를 위해 최상단에
{@
$oDB = &DB::getInstance();
$query = $oDB->_query('select regdate from xe_comments where document_srl = '.$document_srl);
$result = $oDB->_fetch($query);
$no = array();
}
<block loop="$i=0;$i<count($result);$i++">
{@ $no[] = $result[$i]->regdate}
</block>
{@ sort($no)}
를 추가하고,
<block loop="$no => $k,$v" cond="$v==$comment->get('regdate')">
{@ $k++}
<? break ?>
</block>
<!--// 댓글 정보 -->
<div class="meta">
<a cond="$comment->member_srl" href="#popup_menu_area" class="member_{$comment->member_srl}" onclick="return false">{$comment->getNickName()}{$k}</a>
<a cond="!$comment->member_srl && $comment->homepage" href="{$comment->getHomepageUrl()}" target="_blank">{$comment->getNickName()}{$k}</a>
<b cond="!$comment->member_srl && !$comment->homepage">{$comment->getNickName()}{$k}</b>
<span class="date">{getTimeGap($comment->get('regdate'), "Y.m.d H:i")}</span>
<small cond="$grant->manager || $mi->display_ip_address" class="m_no">({$comment->getIpaddress()})</small>
<span cond="$comment->isSecret()" class="ico_secret">SECRET</span>
이렇게 변경을 했는데 기존 게시글에는 설정이 잘 되는데, 수정 이후 작성 게시글은 오류가 납니다 ㅠㅠ 하얀 창에 외계어가 뜨거나 오류 창이 뜨는데 (에러코드 XX, 그냥 하얀 화면에 텍스트가 쭉 나열 됨 ㅠㅠ) 어떻ㄱㅔ 해야 할 지 모르겠네요 ㅠㅠ 어떤 부분에서 실수가 있었는지도 모르겠습니다 ㅠㅠㅠ
지금 PHP의 sort 기능을 사용하셔서 소팅을 하시려고 하시는데 사실 잘못된 방법입니다.
DB가 10만건 이상이 된다면 서버에 굉장한 과부화가 올 수도 있는 소스 입니다.
소팅은 최대한 DB의 SQL문에서 이루어질 수 있도록 하셔야 합니다.
굳이 raw query를 사용하고 싶으시다면
select regdate from xe_comments where document_srl = '.$document_srl.' order by regdate asc (혹은 desc)
이렇게 쿼리를 짜시는 것이 보통입니다. 그리고 가능하면 raw query 자제하시고 XE의 정규 코드를 사용하시기 바랍니다.