테스트 사이트 - 개발 중인 베타 버전입니다

글쓰기 작성 시 조건문 처리 채택완료

김마린2 3년 전 조회 1,358

안녕하세요

신규 게시판을 구상중인데 해당게시판 글 작성 시

(글작성 update 동작 시)

 

특정 대상 커뮤니티 그룹 내 게시판

3일 이내 글쓰기 1개 댓글 3개 충족시에만

글작성(update)이 가능하게 하려고합니다

 

여러조건문을 사용해야할거 같은데ㅠ,.ㅠ

도움부탁드립니다.

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
Dessi
3년 전

</p>

<p><?php</p>

<p>    $gr_id = "test"; //적용할 게시판 그룹 ID</p>

<p>    $sqlgroup = " select bo_table from $g5[board_table] where gr_id = '$gr_id' ";

    $rsgroup = sql_query($sqlgroup); //그룹의 게시판 아이디들을 가져옴</p>

<p>

    while($rowgroup=sql_fetch_array($rsgroup)) { //게시판 아이디들로 반복문 돌림</p>

<p>        $bo_table = $rowgroup['bo_table'];

        $tmp_write_table = $g5['write_prefix'] . $bo_table; // 게시판 테이블 전체이름</p>

<p> </p>

<p>        $sql_order = "select count(*) as cnt  from {$tmp_write_table} where  mb_id = '{$member['mb_id']}' AND wr_datetime > CURDATE() - interval 3 day AND wr_is_comment = "; //3일전(6월 7일 기준 6월 4일까지)</p>

<p>        $sql_c = " {$sql_order} 1 ";  //댓글

        $result_c = sql_fetch($sql_c);</p>

<p> </p>

<p>        $sql_w = " {$sql_order} 0 "; //게시글

        $result_w = sql_fetch($sql_w);</p>

<p> </p>

<p>        $result_c2  += $result_c ['cnt']; // 댓글 갯수

        $result_w2  += $result_w ['cnt']; // 게시글 갯수

    }</p>

<p>    ?></p>

<p>

 

write.skin.php

 

</p>

<p>    <?php

    if(!$is_admin && $w=="" && $result_w2 == "0" && $result_c2 < "3"){ //관리자가 아니고 글쓰기 이고 게시글이 0개이고 댓글 갯수가 3개 미만이면

     alert("글쓰기 못해요");

    }</p>

<p>?></p>

<p>

 

이렇게 해보세요.

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 4개

김마린2
3년 전
오늘도감사드립니다!! 위코드 같은 write.skin.php
쪽에 다 기입해서 사용하면될까요?
D
Dessi
3년 전
네 해당 스킨에 쓰시면 됩니다.
추가 팁 드리자면

$sql_where = "wr_datetime > '".date("Y-m-d H:i:s", strtotime(G5_TIME_YMDHIS."-3 day"))."'"; //3일전(6월 7일 기준 6월 4일 현재 시간 시분초 까지)
//$sql_where = "wr_datetime > CURDATE() - interval 3 day"; //3일전(6월 7일 기준 6월 4일(00시) 까지)

//위 sql_where 둘중에 하나만 사용하세요.

$sql_order = "select count(*) as cnt from {$tmp_write_table} where mb_id = '{$member['mb_id']}' AND {$sql_where} AND wr_is_comment = ";

시간 계산도 이렇게 하셔도 됩니다.

sql 쿼리 자체에서 3일전 시분초까지 구할수 있었던것 같은데 기억이 잘 안나네요.
D
Dessi
3년 전
그리고 지금 생각해보니 if문 수정을 해야겠네요.
if(!$is_admin && $w=="" && ($result_w2 == "0" || $result_c2 < "3")){ //관리자가 아니고 글쓰기 이고 게시글이 0개이고 댓글 갯수가 3개 미만이면
alert("글쓰기 못해요");
}

게시글 0개 또는 댓글수 3개 미만이니 이렇게 해야할듯 합니다.
김마린2
3년 전
고맙습니다 한번 해보겠습니다!

댓글을 작성하려면 로그인이 필요합니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인