투표 관련문의
본문
관리자 페이지 보면 생성만 있지 종료 기능은 없던데
투표를 시작해서 기간을 정해 기간내에 투표를 하게하고 기간이 끝나면 투표가 종료되어
투표목록이 관리자에게만 노출되게 하려면 어떻해 해야할까요?
관리자 페이지에서 투표 내역이 남지를 않다보니;; 불편한점이 있긴하네요.
카운트 기능이 있었으면 좋앗을텐데..
답변 3
투표 종료에 대한 기능이 빠져 있네요 결론부터 말씀드리면 테이블변경 각 소스 변경이 되어야 합니다.
좀 복잡은 하겠지만 불가능은 없지요...
1. 테이블 변경
2. 소스 수정 및 추가
끝.
빨간색은 추가를 파란색은 수정으로 보시면 됩니다.
우선 투표테이블 변경 (phpmyadmin 있으시면 좀 편합니다.) 쿼리를 실행 하세요.
ALTER TABLE `g5_poll` ADD `po_edate` DATE NOT NULL DEFAULT '0000-00-00' AFTER `po_date`
각 페이지 수정
/adm/poll_form.php
88 줄
<tr>
<th scope="row"><label for="po_date">투표시작일</label></th>
<td><input type="text" name="po_date" value="<?php echo $po['po_date'] ?>" id="po_date" class="frm_input" maxlength="10"></td>
</tr>
<!-- 추가 -->
<tr>
<th scope="row"><label for="po_edate">투표종료일</label></th>
<td><input type="text" name="po_edate" value="<?php echo $po['po_edate'] ?>" id="po_edate" class="frm_input" maxlength="10"></td>
</tr>
/adm/poll_form_update.php
15 줄
$sql = " insert {$g5['poll_table']}
( po_subject, po_poll1, po_poll2, po_poll3, po_poll4, po_poll5, po_poll6, po_poll7, po_poll8, po_poll9, po_cnt1, po_cnt2, po_cnt3, po_cnt4, po_cnt5, po_cnt6, po_cnt7, po_cnt8, po_cnt9, po_etc, po_level, po_point, po_date, po_edate )
values ( '{$_POST['po_subject']}', '{$_POST['po_poll1']}', '{$_POST['po_poll2']}', '{$_POST['po_poll3']}', '{$_POST['po_poll4']}', '{$_POST['po_poll5']}', '{$_POST['po_poll6']}', '{$_POST['po_poll7']}', '{$_POST['po_poll8']}', '{$_POST['po_poll9']}', '{$_POST['po_cnt1']}', '{$_POST['po_cnt2']}', '{$_POST['po_cnt3']}', '{$_POST['po_cnt4']}', '{$_POST['po_cnt5']}', '{$_POST['po_cnt6']}', '{$_POST['po_cnt7']}', '{$_POST['po_cnt8']}', '{$_POST['po_cnt9']}', '{$_POST['po_etc']}', '{$_POST['po_level']}', '{$_POST['po_point']}', '".G5_TIME_YMDHIS."', '".G5_TIME_YMDHIS."' ) ";
24줄
$sql = " update {$g5['poll_table']}
set po_subject = '{$_POST['po_subject']}',
po_poll1 = '{$_POST['po_poll1']}',
po_poll2 = '{$_POST['po_poll2']}',
po_poll3 = '{$_POST['po_poll3']}',
po_poll4 = '{$_POST['po_poll4']}',
po_poll5 = '{$_POST['po_poll5']}',
po_poll6 = '{$_POST['po_poll6']}',
po_poll7 = '{$_POST['po_poll7']}',
po_poll8 = '{$_POST['po_poll8']}',
po_poll9 = '{$_POST['po_poll9']}',
po_cnt1 = '{$_POST['po_cnt1']}',
po_cnt2 = '{$_POST['po_cnt2']}',
po_cnt3 = '{$_POST['po_cnt3']}',
po_cnt4 = '{$_POST['po_cnt4']}',
po_cnt5 = '{$_POST['po_cnt5']}',
po_cnt6 = '{$_POST['po_cnt6']}',
po_cnt7 = '{$_POST['po_cnt7']}',
po_cnt8 = '{$_POST['po_cnt8']}',
po_cnt9 = '{$_POST['po_cnt9']}',
po_etc = '{$_POST['po_etc']}',
po_level = '{$_POST['po_level']}',
po_point = '{$_POST['po_point']}',
po_date = '{$_POST['po_date']}',
po_edate = '{$_POST['po_edate']}'
where po_id = '{$_POST['po_id']}' ";
이렇게 하시면 관리자에서 일단 조절은 하실 수 있습니다.
/lib/poll.lib.php
18줄
$po = sql_fetch(" select * from {$g5['poll_table']} where po_id = '$po_id' and DATE(now()) between po_date and po_edate ");
if(!$po)
return;
ob_start(); .....
투표한 기능자체가 있다면 내역기록이 디비에 남겠죠~
그냥 끌고오면 댈거같네여
삭제를 하면 지워지는건 당연한거구여.. 삭제기능을 없애야겟져