이게시물을 누가? 열람 했을까. > 그누4 팁자료실

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

이게시물을 누가? 열람 했을까. 정보

이게시물을 누가? 열람 했을까.

본문

소규모의 회원제 사이트등에서 회원들이 코멘트를 달지 않을경우
누가와서 열람을 했는지 궁금할 경우에 써먹을수 있으며 회원수가
많은 중급 이상의 사이트에서는 사용하기가 곤란 합니다.^^;


내용보기에서 이게시물을 읽은 회원들의 리스트를 출력하는 코드이며
아래의 3가지의 형태로 사용할수 있습니다.

1, 회원의 아이디와 이름을 모두 저장/출력은 이름으로
2, 회원의 이름을 저장/출력
3, 회원의 아이디를 저장/출력

1번의 두가지 형태를 사용시엔 여유필드 4,5번을 사용하며
4번은 아이디 저장 5번은 이름을 저장 합니다.
아이디나 이름중 한가지만 사용할경우 4번을 적용하며
이미 다른용도로 사용중이라면 필드명을 변경합니다.

글작성자와 관리자 는 리스트에 기록하지 않으며
비회원이 내용을 볼수있을 경우 비회원은 기록을 하지않습니다.

그리고 한번기록된 회원은 두번다시 기록하지 않지만
원글의 수정을 할경우 전부 초기화 한후 다시 기록을 시작합니다.

스킨/view.skin.php 의 내용이 출력되는 윗부분 또는 바로아래에
적용해 주시고 사용할 필드의 varchar(255) 인 필드형식을 text 로 변경해 주세요.
(열람할 회원수의 기록이 많아질 경우를 대비함)



3가지 형태로 저장하는 방법이며 필요한것중 하나만 사용하세요.
개인적으로 2번의 회원의 이름을 (저장,출력) 하는것을 권장합니다.

참고사항:
(1)글수정을 하게되면 해당 게시물의 읽은회원 명단은 초기화한후 새로 기록을 시작합니다.
(2)잘아시겠지만 아래의 3가지 형태 중에서 바꾸어가면서 사용하지 않습니다.



1, 회원의 아이디와 이름을 동시에 저장하며 2개의 여유필드를 사용함 wr_4 , wr_5

<?
$strArray = "";
$strArray = explode(" ",$view[wr_4]);
if (($is_admin) or ($view[wr_name] == $member[mb_name]) or ($member[mb_id]=="") or array_search($member[mb_id],$strArray)) {
$wr_4 =$view[wr_4];
$wr_5 =$view[wr_5];
} else {
if (!$view[wr_4] and !$view[wr_5]) {
$wr_4 =" ".$member[mb_id];
$wr_5 =$member[mb_name];
} else {
$wr_4 =$view[wr_4]." ".$member[mb_id];
$wr_5 =$view[wr_5].",".$member[mb_name];
}
}
@mysql_query("update $write_table set wr_4='$wr_4' where wr_id='$wr_id'");
@mysql_query("update $write_table set wr_5='$wr_5' where wr_id='$wr_id'");
//관리자만 보이게함
if ($is_admin) {
echo "<table border=0 cellspacing=5 cellpadding=5 width=98%><tr>
<td bgcolor=#EEEEEE><font color=#555555>
이글을 읽은 회원들 : $wr_5
</td>
</tr></table><br>";
}
?>

2, 회원의 이름만 저장한후 출력하며 1개의 여유필드를 사용함 wr_4

<?
$strArray = "";
$strArray = explode(",",$view[wr_4]);
if (($is_admin) or ($view[wr_name] == $member[mb_name]) or ($member[mb_name]=="") or array_search($member[mb_name],$strArray)) {
$wr_4 =$view[wr_4];
} else {
if (!$view[wr_4]) {
$wr_4 =",".$member[mb_name];
} else {
$wr_4 =$view[wr_4].",".$member[mb_name];
}
}
@mysql_query("update $write_table set wr_4='$wr_4' where wr_id='$wr_id'");
$wr_4 = substr($wr_4,1);
//관리자만 보이게함
if ($is_admin]) {
echo "<table border=0 cellspacing=5 cellpadding=5 width=98%><tr>
<td bgcolor=#EEEEEE><font color=#555555>
이글을 읽은 회원들 : $wr_4
</td>
</tr></table><br>";
 }
?>

3, 회원의 아이디만 저장한후 출력하며 1개의 여유필드를 사용함 wr_4

<?
$strArray = "";
$strArray = explode(",",$view[wr_4]);
if (($is_admin) or ($view[mb_id] == $member[mb_id]) or ($member[mb_id]=="") or array_search($member[mb_id],$strArray)) {
$wr_4 =$view[wr_4];
} else {
if (!$view[wr_4]) {
$wr_4 =",".$member[mb_id];
} else {
$wr_4 =$view[wr_4].",".$member[mb_id];
}
}
@mysql_query("update $write_table set wr_4='$wr_4' where wr_id='$wr_id'");
$wr_4 = substr($wr_4,1);
//관리자만 보이게함
if ($is_admin]) {
echo "<table border=0 cellspacing=5 cellpadding=5 width=98%><tr>
<td bgcolor=#EEEEEE><font color=#555555>
이글을 읽은 회원들 : $wr_4
</td>
</tr></table><br>";
 }
?>

미리보기 : http://avaschool.net/web/sub_data/tb.php/forum/215
추천
3

댓글 20개

멋진 팁입니다.
언제부터 군침을 흘리고 있었는데...~*

그런데 root님의 스크랩카운트 팁이 갑자기 생각나는 이유가 뭘까요^^;
현재 플록님과 진행중인 프로젝트에 들어가는 여러가지 기능중에서 1가지 입니다.
root님의 스크랩카운트랑  연관성 이라도 있나요? 궁금^^;

추가(수정)
이제서야 나스카님이 말하신
root님의 스크랩카운트 팁이 갑자기 생각나는 이유가 뭘까요^^; 
라는 암시가 무엇인지 알것 같군요.........스크랩해간 회원들의 리스트 ?
이것참.. 공부할게 너무 많군요... 할짓도 많고.. 이왕이면.. 추천하면.. 추천한 사람 명단
스크랩 하면 스크랩한 사람 명단도 기록되면 ^^;; 좋을텐데요..이것은 일반사용자에게도 보이도록 하거나 해서 말이죠.그냥 건의였습니다. ^^;;
스크랩한 명단은 이미기록이 되어 있으므로 가져와서 뿌려주면 됩니다만
(아래의 링크에서 스크랩수(몇건) : 명단..... 부분을 참조 하세요)
http://avaschool.net/web/sub_data/tb.php/forum/215
게시물을 추천한 자의 명단기록은 가능하지만 덩치가 너무 크질것 같은데요....^^
좋은팁 감사합니다...
오늘하루 게시판과 관련된 팁을 게시판의 처음부터 훓어오고 있는데...
헐랭이님 기타 많은 고수분들의 주옥같은 팁들에 연방 탄성을 내쉬고 있습니다..

상기 코드중
------------------------------------------------------------------------------
if ($is_admin]) {
echo "<table border=0 cellspacing=5 cellpadding=5 width=98%><tr>
<td bgcolor=#EEEEEE><font color=#555555>
------------------------------------------------------------------------------
if ($is_admin)으로 수정하셔야..
]...때문에 오류 나더군요...
와... 제가 찾던 팁입니다.  몇명의 심사위원을 배정하하는 평가게시판의 각 글당 평가자를
지정하는 복잡한 투고심사를 게시판으로 꾸미고 있습니다. 

관리자만 보이는 영역으로...
write에서 이미지정한 여분필드 8~ 등을 제한된 수의 id 입력값으로 글쓰기에서 처리해서...
ex) 심사위원 : <input type='text' name='wr_8' itemname='심사위원1' value='<?=$write['wr_8']?>'>

view에서 그 값인 id가 잘 보여진다면.   
ex) 심사위원 : s00700, korea002

위내용을 응용해서
 <?=$view[wr_8]?> (wr_8의 mb_name)으로 구현하는 방법도 가능할까요?? 
ex) 심사위원 : s00700 (김철수),

영어와 숫자로된 임의의 값을 회원명으로 변환해서 옆에 보여주기가 어렵네요. ^^;
view에 임의로 보이는 값인 아이디로는 운영하는 사람이 이름을 알수없기에...

※ 지금은 관리자의 회원레벨8 보기 새창 링크로 해결을 했습니다. 이방법이 제일 깔끔할 것 같지만, 구현은 방법이 복잡한데 다른 표현이 가능한지 궁금합니다.
전체 3,313 |RSS
그누4 팁자료실 내용 검색

회원로그인

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