Q & A

질답게시판

홈 > 회원포럼 > 질답/버그/제안
질답/버그/제안

게시물 읽은 회원 이름을 표시 문의 드립니다.

1 부루스 9 105

안녕하세요?


아미나로 제작한 웹사이트를 소규모(20명 이하) 부서에서 활용하고 있습니다.


모든 게시물에 게시물을 읽은 회원의 이름을 표시하고 싶은데 몇몇 게시물을 보고 시도 해봤는데 잘 안되네요.

부족한점이 많아 추가필드를 활용하거나 테이블을 새로만드는 부분이 조금 어렵네요.

혹시 다른 방법이 있을까요?


제가 표시하고 싶은 부분은 아래 이미지와 같습니다.

b844ce611d424534d8c5d46b654a70b8_1533867132_652.PNG
 

 

9 Comments
1 스타시드 08.10 12:18  
bbs/view.php
@include_once($board_skin_path.'/view.tail.skin.php');
아래 부분에

$sql = " select wr_id from {$write_table} where wr_id = '{$wr_id}' and wr_10 like '%".$member['mb_name'].",%' ";
$row = sql_fetch($sql);
if(!$row['wr_id']){
sql_query(" update {$write_table} set wr_10 = CONCAT(wr_10, '{$member['mb_name']},')  where wr_id = '{$wr_id}' ");
}

글보기에서는 $view['wr_10'] 으로 출력하시면 됩니다.
1 부루스 08.10 13:33  
말씀 감사합니다.
시도해 보도록 하겠습니다.

Congratulation! You win the 36 Lucky Point!

M 한별아빠 08.10 12:37  
1. 어... 사용자가 20명 이내라고 하니 여분필드 사용하고 부족하다면 여분필드 속성을 text로 변화시키면 될 듯 한데...(따로 필드 만드셔도 되고...)

2. 위에 스타시드님 말처럼 여분필드 10번을 이걸 위한 용도로 사용한다면...

보드스킨 내 view.skin.php 파일 상단에 아래처럼 넣어면 될 듯...

$vmb_list = array();
$vmb_list = explode(",", $write['wr_10']); //읽은 회원 배열
if($member['mb_id'] && !in_array($member['mb_id'], $vmb_list)) { //읽은 회원이라면 아니라면
	//읽은 회원배열에 추가
	array_push($vmb_list, $member['mb_id']);
	
	//글 여분필드 업데이트
	$vmb_str = implode(",", $vmb_list);
	sql_query(" update {$write_table} set wr_10 = '{$vmb_str}' where wr_id = '{$wr_id}' "); 
}

//읽은 회원출력
for ($i=0; $i < count($vmb_list); $i++) { 

	if(!$vmb_list[$i]) continue;

	$vmb_name = get_member($vmb_list[$i], 'mb_nick');

	echo $vmb_name['mb_nick'];
}


3. 참고로 여분필드 10번을 이용했으니, 글쓰기 스킨에 아래와 같이 추가되어 있어야 글수정을 하더라도 자료는 살아 있습니다.

<input type="hidden" name="wr_10" value="<?php echo $write['wr_10']; ?>">

Congratulation! You win the 13 Lucky Point!

1 부루스 08.10 13:46  
답변 감사드립니다.
말씀하신대로 수정하니 잘 나타 나네요.

테스트한 계정은 제것과 테스트 계정으로 게시물을 읽어보니 제이름테스트 이렇게 붙여져서 출력이 되서 출력문 변경을 해보고 있습니다.

이름 뒤에 회원이름,공백한칸 회원이름,공백한칸 회원이름 으로 표시해보려고 php.net echo 문법을 확인해보고 입력해 보았습니다.(문법을 잘몰라서 확인중 입니다.)

코드는 마지막 출력 코드를 echo $vmb_name['mb_nick'] ,", "; 이렇게 수정해 봤습니다.
결과값이 이글을 읽은 회원들: , 내이름, , 테스트,
콤마가 좀 많이 나타나네요.

출력문을 변경해보고 싶은 예제 입니다.
예) 이글을 읽은 회원들: 회원이름, 회원이름, 회원이름


view.skin.php에 우선 위치를 하단에 표시하도록 맨아래 아래 코드를 추가 하였습니다.

//게시물 읽은 회원 추가

$vmb_list = array();
$vmb_list = explode(",", $write['wr_10']); //읽은 회원 배열
if($member['mb_id'] && !in_array($member['mb_id'], $vmb_list)) { //읽은 회원이라면 아니라면
    //읽은 회원배열에 추가
    array_push($vmb_list, $member['mb_id']);
   
    //글 여분필드 업데이트
    $vmb_str = implode(",", $vmb_list);
    sql_query(" update {$write_table} set wr_10 = '{$vmb_str}' where wr_id = '{$wr_id}' ");
}

echo "이글을 읽은 회원들: ";

//읽은 회원출력
for ($i=0; $i < count($vmb_list); $i++) {
 
    if(!$vmb_list[$i]) continue;
 
    $vmb_name = get_member($vmb_list[$i], 'mb_nick');
 
    echo $vmb_name['mb_nick'] ,", ";
M 한별아빠 08.10 14:07  
1. 로직은 아래처럼 수정하고...

//읽은 회원출력
$vmb_name = array();
for ($i=0; $i < count($vmb_list); $i++) { 
 
    if(!trim($vmb_list[$i])) continue;
 
    $vmb_arr = get_member($vmb_list[$i], 'mb_nick');
 
	$vmb_name[] = $vmb_arr['mb_nick'];
}


2. 출력할 곳에는 아래처럼...

이글을 읽은 회원들: <?php echo implode(", ", $vmb_name); ?>
1 부루스 08.10 14:38  
한별아빠님 덕분에 원하는 출력물을 표시할 수 있었습니다.
확인해 주셔서 감사 드립니다.
20 dawn 08.10 13:45  
와~ 좋은 아이디어네요~
좋은 정보 얻고 갑니다
16 신비 08.10 15:30  
dawn 님 댓글 받고, 주말 잘 보내세요. 겁니다.
20 dawn 08.10 20:22  
신비님도 주말 잘 보내세요..
질답란에 들어오면 팁이 많아서 좋네요.
제목
최근 글
최근 댓글
Facebook Twitter GooglePlus KakaoStory KakaoTalk NaverBand