묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
설문조사에 실명제 기능??
2008.10.08 16:14
설문조사에 실명제 기능이 필요해서 어떻게 DB를 이용해서 구현해 보려 하는데 너무 어렵군요..
남들이 확인하지 않더라도 개인적인 DB 테이블에 사람들의 ID를 저장하여 정보를 얻고 싶은데...
방법이 없을까요?
poll.controller.php 파일의
/**
* @brief 설문 조사에 응함
**/
function procPoll() {
$poll_srl = Context::get('poll_srl');
$poll_srl_indexes = Context::get('poll_srl_indexes');
$tmp_item_srls = explode(',',$poll_srl_indexes);
for($i=0;$i<count($tmp_item_srls);$i++) {
$srl = (int)trim($tmp_item_srls[$i]);
if(!$srl) continue;
$item_srls[] = $srl;
}
이 부분을 수정하면 될까 싶네요...
꼭 도움좀 주세요.
남들이 확인하지 않더라도 개인적인 DB 테이블에 사람들의 ID를 저장하여 정보를 얻고 싶은데...
방법이 없을까요?
poll.controller.php 파일의
/**
* @brief 설문 조사에 응함
**/
function procPoll() {
$poll_srl = Context::get('poll_srl');
$poll_srl_indexes = Context::get('poll_srl_indexes');
$tmp_item_srls = explode(',',$poll_srl_indexes);
for($i=0;$i<count($tmp_item_srls);$i++) {
$srl = (int)trim($tmp_item_srls[$i]);
if(!$srl) continue;
$item_srls[] = $srl;
}
이 부분을 수정하면 될까 싶네요...
꼭 도움좀 주세요.
댓글 2
-
맛있는고기
2008.10.08 17:26
-
라르게덴
2008.10.09 09:37
설문조사용 DB에는 설문 번호와 설문이 등록된 번호(게시물번호) 설문을 한 멤버 번호가 남아 있습니다.
이를 바탕으로 xe_member와 join을 하면 설문을 한 실명확인은 가능하리라 봅니다.
고로 입력과정의 수정은 필요가 없으며, 보려고 하는 출력용 xml과 그 페이지를 수정하여 보면 되겠네요.
단, xe_poll_log 에는 member_srl은 있지만 upload_target_srl(게시물번호)은 없습니다.
xe_poll_title과 xe_poll_log, xe_member 를 3개를 조인하던가 member는 건건이 값구해서 불러오는 방식으로(현 닉네임 표현처럼)
구하시는 방법 밖에 없습니다.
그리고 사용자가 비회원이 추천할 경우를 대비해서 조인방식을 leftjoin이나 그런걸로 해야합니다.
결론적으로 가능하네요. 보여지는 기능 개선을 하면 ^^
현재 설문조사 모듈엔 누가 어디에 투표 했는지는 기록이 남지 않습니다. 해결하려면...
poll_log 에 poll_item_srl (투표내용) 필드추가
queries/insertPollLog.xml 와 schemas/poll_log.xml 두군데에 추가된 poll_item_srl 필드에 대한 내용 추가
poll.controller.php 편집해서 // 응답자 정보를 로그로 남김 부분에 $log_args->poll_item_srl = implode(',',$item_srls); 추가
이렇게 하시면 일단 입력은 해결 됩니다.
출력은 poll.model.php와 queries/getPollLog.xml 을 개조하셔야 합니다.