불쌍한 중생좀 구제해주세요,,ㅠㅠㅠ
본문
아래의 소스는 포인트 제한구문이 있는 점프 소스입니다만, 하루 횟수제한을 구현하고 싶습니다,,
한번 봐주세요,,,ㅜㅜ
---------------------------------------------------------------------------------
여러 팁을 찾아서 적용해보니
bbs/board.php 에서 적당한곳에
//JumpUp 기능으로 현재글을 최신 글로 업데이트하기
if($_GET[cmd] == "make_new"){
if(!$is_admin == "super" || !$is_admin == "group"){
if($member[mb_point] < 10){
$msg = "포인트가 부족해서 점프기능을 사용하실 수 없습니다.";
alert($msg, "./board.php?bo_table=$bo_table&page=$page");
}
}
$wr_num = get_next_num($write_table);
$sql = " update {$write_table} ";
$sql.= " set wr_num = '{$wr_num}' ";
$sql.= " , wr_datetime = '{$g4['time_ymdhis']}' ";
$sql.= " where wr_parent = '{$write['wr_id']}' ";
$qry = sql_query($sql);
if(!$is_admin == "super" || !$is_admin == "group"){
$m_point = "-10"; // 차감할 포인트 (-숫자)
insert_point($member[mb_id], $m_point, "포인트 차감");
}
goto_url("./board.php?bo_table=$bo_table&page=$page" . $qstr);
}
---------------------------------------------------------------------------------
위처럼 적용하니 잘 됩니다,, 그런데,, 횟수제한이 미해결입니다,,
하루 횟수제한은 10회로 하려고 하는데,, 어떤 함수가 필요한건지요,,
10회가 되면 버튼이 안보이게 해도 될듯한데요,,,,,,
어떻게 해야할지 알려주시면 감사드려요,,,
불쌍한 중생 도와주십시요,,,감사합니다,,
답변 2
if(!$is_admin == "super" || !$is_admin == "group"){
$m_point = "-10"; // 차감할 포인트 (-숫자)
insert_point($member[mb_id], $m_point, "포인트 차감");
}
--------윗 부분 수정
if(!$is_admin){
$m_point = "-10"; // 차감할 포인트 (-숫자)
$ret = insert_point($member[mb_id], $m_point, "포인트 차감");
if( $ret ==1){
if($write[wr_1] != $g4[time_ymd]) $add_qry="wr_1 ='$g4[time_ymd]', wr_2 = '1' ";
else $add_qry = "wr_2 = wr_2 + 1";
sql_query("update $write_table set $add_qry where wr_id='$wr_id'");
}
}
/////////////////////////////////////////////
if($_GET[cmd] == "make_new"){ 다음에 추가
if($write[wr_1] == $g4[time_ymd] && $write[wr_2] >=10) alert("1일 10회만 가능:);
/////////////////
-- 위와 같이하면 여분필드에 그날의 점프횟수를 누적해서 처리할때 비교하게 됩니다
-- 점프 버튼에서는 아래와 같이 하면 버튼이 나오지않게됩니다
<? if($write[wr_1]!=$g4[time_ymd] || $write[wr_2]<10){?>
점프버튼 링크
<?}?>
insert_point($member[mb_id], $m_point, "포인트 차감");
위의 포인트 주는 부분에서
"포인트 차감" 이라는 부분이 다른 포인트 주는 명칭과 겹치지 않는 조건이라면...
오늘날짜로 포인트 테이블에서
해당 포인트 지급건수를 카운팅해서 if문 으로 저건 걸어주면 되지 않을까요?
참고로 아래의 쿼리를 참고하세요.
중요한건 아래의 쿼리가 답은 아닙니다.
조건은 직접 테이블 체크하여 확인하시기 바랍니다.
$sql = " select count(*) as cnt from $g4[point_table]
where mb_id = '$mb_id'
and po_rel_table = '$rel_table'
and po_rel_id = '$rel_id'
and po_rel_action = '$rel_action' where po_datetime = '오늘날짜'";
$row = sql_fetch($sql);
if ($row[cnt]>10) { //처리못함
}