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

리스트에서 자기 글만 보이게 할 경우 페이징 관련 질문입니다.

· 13년 전 · 1545 · 3
ex22.jpg
list.skin.php에서 이렇게 수정하여

<?
for ($i=0; $i<count($list); $i++) {
$bg = $i%2 ? 0 : 1;
?>
<? if (($list[$i][wr_6] == $member[mb_nick]) or ($list[$i][wr_2] == $member[mb_nick])|| $is_admin){//관리자,자신의글 시작?>

관리자는 다 보고, 일반회원은 wr_2 와 wr_6에 자기별명이 있을 경우에만 리스트에서 보게끔 하려고 합니다.

리스트에서는 제대로 일단 보이는데

게시판 전체 글이 15개 이상이라서 페이지가 넘어가는데

자기글 볼수 있는 글은 예를 들어 2개임에도 불구하고, 밑에 페이지 보면 1,2 이렇게 숫자가 들어갑니다.(위에 이미지 처럼)

어떻게 해야 페이지 처리가 제대로 될까요?

자기가 볼수 있는 글이 15개 이상일때만 페이지 넘어가는 표시가 나와야 하는데 전체글 기준으로 나옵니다.

댓글 작성

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

로그인하기

댓글 3개

스킨 자체에서 수정하는 것 보다

board.php 에서

특정 bo_table 일 경우 조건을 줘서 자르는 방식 추천합니다.

전체 게시물 카운트 하는 부분에서도 쿼리를 해줘야 합니다.
제가 초보라서 그런데 좀 자세히 좀 알려주세요
13년 전
bbs/list.php 에보면,

if ($sca || $stx)
{
$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 = $row[min_wr_num];

if (!$spt) $spt = $min_spt;

$sql_search .= " and (wr_num between '".$spt."' and '".($spt + $config[cf_search_part])."') ";

// 원글만 얻는다. (코멘트의 내용도 검색하기 위함)
$sql = " select distinct wr_parent from $write_table where $sql_search ";
$result = sql_query($sql);
$total_count = mysql_num_rows($result);
}
else
{
$sql_search = "";

$total_count = $board[bo_count_write];
}

$total_page = ceil($total_count / $board[bo_page_rows]); // 전체 페이지 계산
if (!$page) { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $board[bo_page_rows]; // 시작 열을 구함


total_count 계산이 틀리고 있으니, 아마 이부분을 요물딱 조물딱 잘 해야 할거 같습니다.

게시글 목록

번호 제목
284508
284499
284492
284490
284484
284481
284478
284476
284474
284472
284470
284458
284457
284454
284453
284447
284446
284444
284441
284440