불쌍한 중생좀 구제해주세요,,ㅠㅠㅠ 채택완료
아래의 소스는 포인트 제한구문이 있는 점프 소스입니다만, 하루 횟수제한을 구현하고 싶습니다,,
한번 봐주세요,,,ㅜㅜ
---------------------------------------------------------------------------------
여러 팁을 찾아서 적용해보니
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){?>
점프버튼 링크
}?>
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
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) { //처리못함
}
답변에 대한 댓글 5개
1064 : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'select count(*) as cnt from g4_point where mb_id = '' ' at line 1
error file : /bbs/board.php
회원 아이디가 정상적으로 받아진건지 한번 더 체크해보시고요.
위의 예는 말그대로 예입니다.
상황에 맞게 쿼리를 수정하셔야 합니다.ㅠㅠ
그리고 where절에 있는 조건도...
기존에 들어간 값들을 체크해보고. 필요한건 넣고 불필요한건 빼셔야 할거에요.
멋진 사이트 만드세요^^
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인