추천 비추천 코드좀 도와주십시요 충성

추천 비추천 코드좀 도와주십시요 충성

QA

추천 비추천 코드좀 도와주십시요 충성

본문

충성

컴맹이 사이트 하나 만들어서 이런저런거 시도 해보다가 

회사에서도 맨날 졸고  매일 잠도 잘안자고 연구중입니다.

 

이번에 발생한 문제점은 다름아닌 추천 포인트제도를 사용해보려고 하는데

 

현재 제가 적용한 코드는  추천을하면 -1포인트를 사용하여 추천받은사람은 +1이 올라가고 

비추천받은사람은 -1이 내려가는걸 만들고 있었습니다.

 

그런데 문제가 발생한것은

 

만약 a 라는 닉네임을 쓰는 회원이 포인트가 어쩌다보니 0 이되었는데

포인트가 0이면 추천을 못하게 하고 싶은데 추천은 계속 되고 본인 포인트가 - 마이너스 -1  이렇게 계속 내려갑니다.

 

이걸 0이면 포인트없으면 추천 이던 비추천이던 못하도록

만들고 싶은데 아래 코드 속에서 어떻게 추가해야 할런지요 

 

도와주십시요 충성

 

 

if ($good == "good") 
    { 
    $status = "추천"; 

insert_point($write[mb_id], 1, $member['mb_nick']."님이 추천", $bo_table, $wr_id, $member['mb_id'].'추천'); 

insert_point($member['mb_id'], -1, "추천 했습니다.", $bo_table, $wr_id, $member['mb_id'].'추천하기'); 
    } 
else 

    $status = "비추천"; 
insert_point($write[mb_id], -1, "비추천 점수를 받았습니다.", $bo_table, $wr_id, $member['mb_id'].'비추'); 

    //insert_point($mb_id, $mw_basic[cf_nogood_re_point], "비추천 했습니다.", $bo_table, $wr_id, $mb_id.'@nogood_re'); 
    } 

            print_result($error, $count);
        }
    }

이 질문에 댓글 쓰기 :

답변 4


if ($good == "good")
{
 $status = "추천";
 insert_point($write[mb_id], 1, $member['mb_nick']."님이 추천", $bo_table, $wr_id, $member['mb_id'].'추천');
 insert_point($member['mb_id'], -1, "추천 했습니다.", $bo_table, $wr_id, $member['mb_id'].'추천하기');
}
else
{
 $usr = sql_fetch(" select * from {$g5['member_table']} where mb_id='$write[mb_id]' ");
 if ($usr['mb_point']){
  $status = "비추천";
  insert_point($write[mb_id], -1, "비추천 점수를 받았습니다.", $bo_table, $wr_id, $member['mb_id'].'비추');
  //insert_point($mb_id, $mw_basic[cf_nogood_re_point], "비추천 했습니다.", $bo_table, $wr_id, $mb_id.'@nogood_re');
     }
}
print_result($error, $count);

로 하시면 될듯합니다.

사무실에 막들어 와서 잠시 해봤는데 적용이 되지 않는데  제가 또 엄한테 가져다 붙인걸까요.?

저의 상식으로는 포인트가 0이 되면 추천 비추천을 할수 없다

이런 if 문이 중간에 들어 가야 할것같은데

그걸 만들어 내질 못하겠어요

그리고 제가 컴매이다 보니 정확한 의미들을 잘분석해내지 못하겠습니다.

일단 추가된  $usr = sql_fetch(" select * from {$g5['member_table']} where mb_id='$write[mb_id]' ");

이것이 if 문인것인지 어떤것을 뜻하는지 좀 알고 싶고

마지막 비추천 주석되어있는 부분이 왜 주석처리 되는지 알고 싶습니다.
  //insert_point($mb_id, $mw_basic[cf_nogood_re_point], "비추천 했습니다.", $bo_table, $wr_id, $mb_id.'@nogood_re');

충성

1. 포인트를 확인 하기 위해서 write[mb_id]로 회원을 조회하는거고요.

$usr = sql_fetch(" select * from {$g5['member_table']} where mb_id='$write[mb_id]' ");

 

2. if ($usr['mb_point']){

   $usr[mb_point]를 조회해서 0보다 크면 해당 로직을 수행하도록 한거였습니다.

 

3. 비추천 주석은 제가 한게 아니라 위에 적어주실때 주석으로 되어 있던겁니다.

    제가 추가한건 위에 1,2번만 입니다.


 

빠르고 친절한 답변 너무 감사 드립니다 충성

2. if 문이  제가 원하는 포인트가 다 깍여서 0 포인트가 되어 버리면

추천이던 비추천이던 눌러도 상대방도 안올라가고 본인 포인트도 -1 이런씩으로 계속 마이너스로 내려가지 않고 그냥 0에서 아무것도 못하도록 하고 싶은데요

이 전체적인 내용이 것이 맞는것인지요

충성

2. if 문이  제가 원하는 포인트가 다 깍여서 0 포인트가 되어 버리면
추천이던 비추천이던 눌러도 상대방도 안올라가고 본인 포인트도 -1 이런씩으로 계속 마이너스로 내려가지 않고 그냥 0에서 아무것도 못하도록 하고 싶은데요

--> 이 부분에서 문제는 보통 사람들은 mb_point가 0이라는거죠.

--> 위에 말씀데로라면 추천 기능 자체가 처음부터 안되는거죠. (그리고 깍여서 0 포인트가 됐다고 해서 추천을 못 받는다는것도 문제가 되지 않을까요?)

--> 그래서 위에 if을 비추천에만 걸어뒀던거죠.

--> 받아야 하는 사람이 0 포인트면 비추천을 할수 없도록요.

답변 너무 감사 드립니다.

제가 추진하고자 하는 방향성은 

추천 비추천에 중점을 두기 보다 우선 포인트에 초점을 두고 있는데요

사실 더 정확히 표현하자면  0포인트가 된사람은 레벨도 떨어지고 아에 사이트 활동 자체를 하지 못하도록 만들고 싶은것인데 그것이 제가 하기엔 첨부터 뭔가 다 새로 만들어야 하고 너무나도 어려울것같아서요.

일반 유명 커뮤니티 사이트에 보면  - 마이너스 포인트를 많이 받다보면 결국 레벨떨어지고 글도 못쓰고 이렇게 되잖아요.

그것처럼 저도 포인트가 깍여서 0 아래로 내려간사람은

추천을 줄수 없고 비추천도 줄수 없고 아무것도 못하는 상태로 만들어 버리고 싶은건데요


친절하게 코드까지 일일이 다 설명해 주셨는데
제가 저것들을 저의 생각에 맞게 조합을 잘하지 못하겠어요

제가 글을 잘못다보니 정확히 설명을 드렸는지 모르겠지만
한번만더 종합적인 정리를 좀 부탁드립니다.

충성

그럼 순서만 바꾸시면 됩니다.

$usr = sql_fetch(" select * from {$g5['member_table']} where mb_id='$write[mb_id]' ");

if ($usr['mb_point']){

// 원래 코드

}

이런식으로 usr를 먼저 호출하신후에 mb_point가 있을 경우에만 프로세스가 동작하도록 하면 됩니다.

 

 

답변을 작성하시기 전에 로그인 해주세요.
전체 19
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT