게시판 본인글만 보여지게끔 하고싶은데요
아래 소스처럼 적용했는데 안되더리구요
bbs/list.php 부분 에서 수정해서 해봤는데 안되는데
혹시 다른방법은 없을까요 ?
Copy
본인이 쓴 글 만 보여주는 게시판일 경우
list.php 페이지에서 $sql_search 부분에 조건을 추가해줘야 게시글의 숫자와 내가 적은 게시글의 숫자가 맞을 듯 합니다
if($board == "해당글만 보여질 게시판이름")
{
$sql_search .= " AND wr_id = '".$member['mb_id']."' ";
}
이런 형태로 해서 list.php 46줄
$sql_search .= " and (wr_num between {$spt} and ({$spt} + {$config['cf_search_part']})) ";
이부분 다음에
if($board == "해당글만 보여질 게시판이름")
{
$sql_search .= " AND wr_id = '".$member['mb_id']."' ";
}
요런식으로 추가해줘야 하고요
list.php 59줄
$sql_search = "";
요기 아래에는
if($board == "해당글만 보여질 게시판이름")
{
$sql_search .= " wr_id = '".$member['mb_id']."' ";
}
요런식으로 넣어야 합니다
|
답변 2개 / 댓글 11개
채택된 답변
+20 포인트
wr_id를 mb_id로 수정해주세요
$sql_search .= " wr_id = '".$member['mb_id']."' ";
$sql_search .= " mb_id = '".$member['mb_id']."' ";
답변에 대한 댓글 10개
코딩초보1
2018-10-15 (월) 16:46:34
LovelyCaT
2018-10-15 (월) 16:52:43
세 곳 모두 수정하신건가요?
오류는 따로 안나고 목록이 하나도 안보이게 나나요?
list.php에서 최종적으로 날리는 쿼리 좀 보여주시겠어요?
오류는 따로 안나고 목록이 하나도 안보이게 나나요?
list.php에서 최종적으로 날리는 쿼리 좀 보여주시겠어요?
코딩초보1
2018-10-15 (월) 16:55:52
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
if(defined('MC') && $mc_search = mc_board($bo_table)->getSearchSql($_GET)){
include_once MC_PLUGIN_PATH . '/bbs.list.php';
return;
}
// 분류 사용 여부
$is_category = false;
$category_option = '';
if ($board['bo_use_category']) {
$is_category = true;
$category_href = G5_BBS_URL.'/board.php?bo_table='.$bo_table;
$sqlCnum = " select count(*) as Cnum from $write_table where wr_is_comment = 0";
$rowCnum = sql_fetch($sqlCnum);
$CnumText = " <span style='font-size:11px;color:#666666; padding-left:3px;";
if ($sca=='') {
$CnumText = $CnumText." color:#ffffff;";
}
$CnumText = $CnumText." '>{$rowCnum['Cnum']}</span>";
$categories = explode('|', $board['bo_category_list']); // 구분자가 , 로 되어 있음
for ($i=0; $i<count($categories); $i++) {
$category = trim($categories[$i]);
if ($category=='') continue;
$category_option .= '<li><a href="'.($category_href."&sca=".urlencode($category)).'"';
$category_msg = '';
if ($category==$sca) { // 현재 선택된 카테고리라면
$category_option .= ' id="bo_cate_on"';
$category_msg = '<span class="sound_only">열린 분류 </span>';
}
$sqlCnum = " select count(*) as Cnum from $write_table where wr_is_comment = 0 and ca_name = '{$category}'";
$rowCnum = sql_fetch($sqlCnum);
$CnumText = " <span style='font-size:12px;color:#666666; padding-left:3px;";
if ($category==$sca) { // 현재 선택된 카테고리라면
$CnumText = $CnumText." color:#ffffff;";
}
$CnumText = $CnumText." '>{$rowCnum['Cnum']}</span>";
$category_option .= '>'.$category_msg.$category.$CnumText.'</a></li>';
}
}
$sop = strtolower($sop);
if ($sop != 'and' && $sop != 'or')
$sop = 'and';
// 분류 선택 또는 검색어가 있다면
$stx = trim($stx);
//검색인지 아닌지 구분하는 변수 초기화
$is_search_bbs = false;
if ($sca || $stx || $stx === '0') { //검색이면
$is_search_bbs = true; //검색구분변수 true 지정
$sql_search = get_sql_search($sca, $sfl, $stx, $sop);
// 가장 작은 번호를 얻어서 변수에 저장 (하단의 페이징에서 사용)
$sql = " select MIN(wr_num) as min_wr_num from {$write_table} ";
$row = sql_fetch($sql);
$min_spt = (int)$row['min_wr_num'];
if (!$spt) $spt = $min_spt;
if($board == "auction")
{
$sql_search .= " AND mb_id = '".$member['mb_id']."' ";
}
$sql_search .= " and (wr_num between {$spt} and ({$spt} + {$config['cf_search_part']})) ";
if($board == "auction")
{
$sql_search .= " mb_id = '".$member['mb_id']."' ";
}
// 원글만 얻는다. (코멘트의 내용도 검색하기 위함)
// 라엘님 제안 코드로 대체 http://sir.kr/g5_bug/2922
$sql = " SELECT COUNT(DISTINCT `wr_parent`) AS `cnt` FROM {$write_table} WHERE {$sql_search} ";
$row = sql_fetch($sql);
$total_count = $row['cnt'];
/*
$sql = " select distinct wr_parent from {$write_table} where {$sql_search} ";
$result = sql_query($sql);
$total_count = sql_num_rows($result);
*/
} else {
$sql_search = "";
if($board == "auction")
{
$sql_search .= " mb_id = '".$member['mb_id']."' ";
}
$total_count = $board['bo_count_write'];
}
if(G5_IS_MOBILE) {
$page_rows = $board['bo_mobile_page_rows'];
$list_page_rows = $board['bo_mobile_page_rows'];
} else {
$page_rows = $board['bo_page_rows'];
$list_page_rows = $board['bo_page_rows'];
}
if ($page < 1) { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)
// 년도 2자리
$today2 = G5_TIME_YMD;
$list = array();
$i = 0;
$notice_count = 0;
$notice_array = array();
// 공지 처리
if (!$is_search_bbs) {
$arr_notice = explode(',', trim($board['bo_notice']));
$from_notice_idx = ($page - 1) * $page_rows;
if($from_notice_idx < 0)
$from_notice_idx = 0;
$board_notice_count = count($arr_notice);
for ($k=0; $k<$board_notice_count; $k++) {
if (trim($arr_notice[$k]) == '') continue;
$row = sql_fetch(" select * from {$write_table} where wr_id = '{$arr_notice[$k]}' ");
if (!$row['wr_id']) continue;
$notice_array[] = $row['wr_id'];
if($k < $from_notice_idx) continue;
$list[$i] = get_list($row, $board, $board_skin_url, G5_IS_MOBILE ? $board['bo_mobile_subject_len'] : $board['bo_subject_len']);
$list[$i]['is_notice'] = true;
$i++;
$notice_count++;
if($notice_count >= $list_page_rows)
break;
}
}
$total_page = ceil($total_count / $page_rows); // 전체 페이지 계산
$from_record = ($page - 1) * $page_rows; // 시작 열을 구함
// 공지글이 있으면 변수에 반영
if(!empty($notice_array)) {
$from_record -= count($notice_array);
if($from_record < 0)
$from_record = 0;
if($notice_count > 0)
$page_rows -= $notice_count;
if($page_rows < 0)
$page_rows = $list_page_rows;
}
// 관리자라면 CheckBox 보임
$is_checkbox = false;
if ($is_member && ($is_admin == 'super' || $group['gr_admin'] == $member['mb_id'] || $board['bo_admin'] == $member['mb_id']))
$is_checkbox = true;
// 정렬에 사용하는 QUERY_
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
if(defined('MC') && $mc_search = mc_board($bo_table)->getSearchSql($_GET)){
include_once MC_PLUGIN_PATH . '/bbs.list.php';
return;
}
// 분류 사용 여부
$is_category = false;
$category_option = '';
if ($board['bo_use_category']) {
$is_category = true;
$category_href = G5_BBS_URL.'/board.php?bo_table='.$bo_table;
$sqlCnum = " select count(*) as Cnum from $write_table where wr_is_comment = 0";
$rowCnum = sql_fetch($sqlCnum);
$CnumText = " <span style='font-size:11px;color:#666666; padding-left:3px;";
if ($sca=='') {
$CnumText = $CnumText." color:#ffffff;";
}
$CnumText = $CnumText." '>{$rowCnum['Cnum']}</span>";
$categories = explode('|', $board['bo_category_list']); // 구분자가 , 로 되어 있음
for ($i=0; $i<count($categories); $i++) {
$category = trim($categories[$i]);
if ($category=='') continue;
$category_option .= '<li><a href="'.($category_href."&sca=".urlencode($category)).'"';
$category_msg = '';
if ($category==$sca) { // 현재 선택된 카테고리라면
$category_option .= ' id="bo_cate_on"';
$category_msg = '<span class="sound_only">열린 분류 </span>';
}
$sqlCnum = " select count(*) as Cnum from $write_table where wr_is_comment = 0 and ca_name = '{$category}'";
$rowCnum = sql_fetch($sqlCnum);
$CnumText = " <span style='font-size:12px;color:#666666; padding-left:3px;";
if ($category==$sca) { // 현재 선택된 카테고리라면
$CnumText = $CnumText." color:#ffffff;";
}
$CnumText = $CnumText." '>{$rowCnum['Cnum']}</span>";
$category_option .= '>'.$category_msg.$category.$CnumText.'</a></li>';
}
}
$sop = strtolower($sop);
if ($sop != 'and' && $sop != 'or')
$sop = 'and';
// 분류 선택 또는 검색어가 있다면
$stx = trim($stx);
//검색인지 아닌지 구분하는 변수 초기화
$is_search_bbs = false;
if ($sca || $stx || $stx === '0') { //검색이면
$is_search_bbs = true; //검색구분변수 true 지정
$sql_search = get_sql_search($sca, $sfl, $stx, $sop);
// 가장 작은 번호를 얻어서 변수에 저장 (하단의 페이징에서 사용)
$sql = " select MIN(wr_num) as min_wr_num from {$write_table} ";
$row = sql_fetch($sql);
$min_spt = (int)$row['min_wr_num'];
if (!$spt) $spt = $min_spt;
if($board == "auction")
{
$sql_search .= " AND mb_id = '".$member['mb_id']."' ";
}
$sql_search .= " and (wr_num between {$spt} and ({$spt} + {$config['cf_search_part']})) ";
if($board == "auction")
{
$sql_search .= " mb_id = '".$member['mb_id']."' ";
}
// 원글만 얻는다. (코멘트의 내용도 검색하기 위함)
// 라엘님 제안 코드로 대체 http://sir.kr/g5_bug/2922
$sql = " SELECT COUNT(DISTINCT `wr_parent`) AS `cnt` FROM {$write_table} WHERE {$sql_search} ";
$row = sql_fetch($sql);
$total_count = $row['cnt'];
/*
$sql = " select distinct wr_parent from {$write_table} where {$sql_search} ";
$result = sql_query($sql);
$total_count = sql_num_rows($result);
*/
} else {
$sql_search = "";
if($board == "auction")
{
$sql_search .= " mb_id = '".$member['mb_id']."' ";
}
$total_count = $board['bo_count_write'];
}
if(G5_IS_MOBILE) {
$page_rows = $board['bo_mobile_page_rows'];
$list_page_rows = $board['bo_mobile_page_rows'];
} else {
$page_rows = $board['bo_page_rows'];
$list_page_rows = $board['bo_page_rows'];
}
if ($page < 1) { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)
// 년도 2자리
$today2 = G5_TIME_YMD;
$list = array();
$i = 0;
$notice_count = 0;
$notice_array = array();
// 공지 처리
if (!$is_search_bbs) {
$arr_notice = explode(',', trim($board['bo_notice']));
$from_notice_idx = ($page - 1) * $page_rows;
if($from_notice_idx < 0)
$from_notice_idx = 0;
$board_notice_count = count($arr_notice);
for ($k=0; $k<$board_notice_count; $k++) {
if (trim($arr_notice[$k]) == '') continue;
$row = sql_fetch(" select * from {$write_table} where wr_id = '{$arr_notice[$k]}' ");
if (!$row['wr_id']) continue;
$notice_array[] = $row['wr_id'];
if($k < $from_notice_idx) continue;
$list[$i] = get_list($row, $board, $board_skin_url, G5_IS_MOBILE ? $board['bo_mobile_subject_len'] : $board['bo_subject_len']);
$list[$i]['is_notice'] = true;
$i++;
$notice_count++;
if($notice_count >= $list_page_rows)
break;
}
}
$total_page = ceil($total_count / $page_rows); // 전체 페이지 계산
$from_record = ($page - 1) * $page_rows; // 시작 열을 구함
// 공지글이 있으면 변수에 반영
if(!empty($notice_array)) {
$from_record -= count($notice_array);
if($from_record < 0)
$from_record = 0;
if($notice_count > 0)
$page_rows -= $notice_count;
if($page_rows < 0)
$page_rows = $list_page_rows;
}
// 관리자라면 CheckBox 보임
$is_checkbox = false;
if ($is_member && ($is_admin == 'super' || $group['gr_admin'] == $member['mb_id'] || $board['bo_admin'] == $member['mb_id']))
$is_checkbox = true;
// 정렬에 사용하는 QUERY_
LovelyCaT
2018-10-15 (월) 17:14:26
최종적으로 쿼리를 날려 결과를 가지고오는
$result = sql_query($sql);
이 행 전에
echo $sql;
하시면 쿼리를 볼 수 있습니다.
$result = sql_query($sql);
이 행 전에
echo $sql;
하시면 쿼리를 볼 수 있습니다.
잘부탁합니닿
2018-10-15 (월) 17:19:58
제가 php는 완전 몰라서요
글 넣는곳 잘맞는지도 잘모르겠습니다 ㅠㅠ.
if($board == "해당글만 보여질 게시판이름")
{
$sql_search .= " AND wr_id = '".$member['mb_id']."' ";
}
이런 형태로 해서 list.php 46줄
$sql_search .= " and (wr_num between {$spt} and ({$spt} + {$config['cf_search_part']})) ";
이부분 다음에
if($board == "해당글만 보여질 게시판이름")
{
$sql_search .= " AND wr_id = '".$member['mb_id']."' ";
}
요런식으로 추가해줘야 하고요
list.php 59줄
$sql_search = "";
요기 아래에는
if($board == "해당글만 보여질 게시판이름")
{
$sql_search .= " wr_id = '".$member['mb_id']."' ";
}
이렇게 3개 가 잘넣어진건지 궁금합니다
글 넣는곳 잘맞는지도 잘모르겠습니다 ㅠㅠ.
if($board == "해당글만 보여질 게시판이름")
{
$sql_search .= " AND wr_id = '".$member['mb_id']."' ";
}
이런 형태로 해서 list.php 46줄
$sql_search .= " and (wr_num between {$spt} and ({$spt} + {$config['cf_search_part']})) ";
이부분 다음에
if($board == "해당글만 보여질 게시판이름")
{
$sql_search .= " AND wr_id = '".$member['mb_id']."' ";
}
요런식으로 추가해줘야 하고요
list.php 59줄
$sql_search = "";
요기 아래에는
if($board == "해당글만 보여질 게시판이름")
{
$sql_search .= " wr_id = '".$member['mb_id']."' ";
}
이렇게 3개 가 잘넣어진건지 궁금합니다
LovelyCaT
2018-10-15 (월) 17:25:22
wr_id 를 mb_id로 바꾸신다면 말씀하신 두 곳에 넣는 것이 맞습니다.
LovelyCaT
2018-10-15 (월) 17:41:08
최종적으로 쿼리를 날려 결과를 가지고오는
$result = sql_query($sql);
이 행 전에
echo $sql;
하셔서 저장 후 새로고침하시고 쿼리 뭐라고 나오는지 댓글달아주세요.
$result = sql_query($sql);
이 행 전에
echo $sql;
하셔서 저장 후 새로고침하시고 쿼리 뭐라고 나오는지 댓글달아주세요.
2018-10-15 (월) 17:34:07
list.php에서 $board는 g5_board테이블의 컬럼값을 담는 배열입니다.
if($board == "게시판명") 하시면 안되고 다음처럼 해서 시도해 보시죠.
if($bo_table == "게시판명")
답변에 대한 댓글 1개
코딩초보1
2018-10-15 (월) 17:38:20
if($bo_table == "auction")
{
$sql_search .= " mb_id = '".$member['mb_id']."' ";
}
이렇게 해도 전체 게시물이 다나오네요 ㅠㅠ
{
$sql_search .= " mb_id = '".$member['mb_id']."' ";
}
이렇게 해도 전체 게시물이 다나오네요 ㅠㅠ
답변을 작성하려면 로그인이 필요합니다.
$sql_search .= " and (wr_num between {$spt} and ({$spt} + {$config['cf_search_part']})) ";
if($board == "auction")
{
$sql_search .= " AND mb_id = '".$member['mb_id']."' ";
}
// 원글만 얻는다. (코멘트의 내용도 검색하기 위함)
// 라엘님 제안 코드로 대체 http://sir.kr/g5_bug/2922
$sql = " SELECT COUNT(DISTINCT `wr_parent`) AS `cnt` FROM {$write_table} WHERE {$sql_search} ";
$row = sql_fetch($sql);
$total_count = $row['cnt'];
/*
$sql = " select distinct wr_parent from {$write_table} where {$sql_search} ";
$result = sql_query($sql);
$total_count = sql_num_rows($result);
*/
} else {
$sql_search = "";
if($board == "auction")
{
$sql_search .= " mb_id = '".$member['mb_id']."' ";
}
$total_count = $board['bo_count_write'];
}