예전 부터 수정하고 싶었던 페이지 기능 정보
예전 부터 수정하고 싶었던 페이지 기능본문
짜잘한거라.. 생각만해두고 귀찮아서 냅두다가
오늘 심심해서 후다닥 처리했네요
별건없고 게시글 상세보기할때 뒤에 page붙는걸 없앴어요
그냥 글번호만 쳐도 아래 리스트에 해당 글위치를 찾아서 페이지 처리되도록했어요
즉 페이지get값이 없어도 해당 글위치 찾아서 리스트에 알아서 표시되도록..
뭐 있어도 그만 없어도 그만인거긴한데
가끔 특정글 검색 혹은 글번호로 찾아갈때 해당 페이지get값이 없으니 아래 리스트에 무조건 1페이지 표시가 되는게 불편해서 만들었네요
뭐 그렇습니다
다시 일하러...
추천
5
5
베스트댓글
그누커머스에 들어갔었던 코드입니다.
도움 되시라고 올려봅니다~
function gc_get_boardview_page($wr_id, $board, $write_table){
global $wpdb;
if(GC_IS_MOBILE) {
$page_rows = $board['bo_mobile_page_rows'];
} else {
$page_rows = $board['bo_page_rows'];
}
$order_field = $board['bo_sort_field'] ? $board['bo_sort_field'] : 'wr_num';
$sql = $wpdb->prepare("SELECT rownum FROM ( select *, (@rownum:=@rownum+1) as rownum from `$write_table` as wr, (select @rownum:=0) tmp where wr.bo_table = '%s' order by $order_field ) A where wr_id = %d", $board['bo_table'], $wr_id);
$rownum = $wpdb->get_var($sql);
return ceil( (int)$rownum / $page_rows);
}
도움 되시라고 올려봅니다~
function gc_get_boardview_page($wr_id, $board, $write_table){
global $wpdb;
if(GC_IS_MOBILE) {
$page_rows = $board['bo_mobile_page_rows'];
} else {
$page_rows = $board['bo_page_rows'];
}
$order_field = $board['bo_sort_field'] ? $board['bo_sort_field'] : 'wr_num';
$sql = $wpdb->prepare("SELECT rownum FROM ( select *, (@rownum:=@rownum+1) as rownum from `$write_table` as wr, (select @rownum:=0) tmp where wr.bo_table = '%s' order by $order_field ) A where wr_id = %d", $board['bo_table'], $wr_id);
$rownum = $wpdb->get_var($sql);
return ceil( (int)$rownum / $page_rows);
}
댓글 13개
와우 어떻게하는지 알려주세요 ㅋㅋ
@우성짱 우성님만 알려드릴까요? ㅎㅎㅎㅎ 정리해서 그누용으로 만들고 팁으로 적어봐야겠네요
@Policia 팁에 올라가면 인기 많을 것 같아요 ㅎㅎ
.htaccess 서 rewrite 처리하신거죠?
@kalcapt 아뇨 rewrite는 숨겨주기만하지 해당 글위치를 찾기는 힘들어요
해당 글번호로 들어왔을때 페이지 위치찾아주는 함수 하나 작성하고 넣었습니다
해당 글번호로 들어왔을때 페이지 위치찾아주는 함수 하나 작성하고 넣었습니다
@Policia 아 내부적으로 별도 처릴 해주셨쿤요 ㅎㅎㅎ
글보고 저도 수정해야겠다고 해서 만들어봤습니다.
bbs/list.php 에 wr_id있을때 wr_id가 몇번째 페이지인지 체킹해서
$page값을 먹여줘봤는데...음...되긴되는데...루트건드리는거말곤
방법이 안떠오르네요;;
if ($wr_id && !$page){
$sql = " SELECT COUNT(DISTINCT `wr_parent`) AS `cnt` FROM {$write_table} WHERE wr_id > '{$wr_id}' ";
$row2 = sql_fetch($sql);
$wr_id_count = $row2['cnt'];
}
if ($wr_id && !$page){
$page = ceil($wr_id_count / $page_rows);
}
bbs/list.php 에 wr_id있을때 wr_id가 몇번째 페이지인지 체킹해서
$page값을 먹여줘봤는데...음...되긴되는데...루트건드리는거말곤
방법이 안떠오르네요;;
if ($wr_id && !$page){
$sql = " SELECT COUNT(DISTINCT `wr_parent`) AS `cnt` FROM {$write_table} WHERE wr_id > '{$wr_id}' ";
$row2 = sql_fetch($sql);
$wr_id_count = $row2['cnt'];
}
if ($wr_id && !$page){
$page = ceil($wr_id_count / $page_rows);
}
@ifelse 네 저랑 비슷하네요 저는 이걸 함수화해서 board.php에 넣었어요
@Policia 몰랐던 버그? 불편사항인데 알려주셔서 정말 감사합니다.(_ _)
@ifelse 아 부등호는 >=로 하세요 현재번호를 포함해야 정확한 위치페이지가 떠요
@Policia 아 넵!! 정말 감사합니다.. 님 글보고 항상 많이 배웁니다 ㅎㅎㅎ
그누커머스에 들어갔었던 코드입니다.
도움 되시라고 올려봅니다~
function gc_get_boardview_page($wr_id, $board, $write_table){
global $wpdb;
if(GC_IS_MOBILE) {
$page_rows = $board['bo_mobile_page_rows'];
} else {
$page_rows = $board['bo_page_rows'];
}
$order_field = $board['bo_sort_field'] ? $board['bo_sort_field'] : 'wr_num';
$sql = $wpdb->prepare("SELECT rownum FROM ( select *, (@rownum:=@rownum+1) as rownum from `$write_table` as wr, (select @rownum:=0) tmp where wr.bo_table = '%s' order by $order_field ) A where wr_id = %d", $board['bo_table'], $wr_id);
$rownum = $wpdb->get_var($sql);
return ceil( (int)$rownum / $page_rows);
}
도움 되시라고 올려봅니다~
function gc_get_boardview_page($wr_id, $board, $write_table){
global $wpdb;
if(GC_IS_MOBILE) {
$page_rows = $board['bo_mobile_page_rows'];
} else {
$page_rows = $board['bo_page_rows'];
}
$order_field = $board['bo_sort_field'] ? $board['bo_sort_field'] : 'wr_num';
$sql = $wpdb->prepare("SELECT rownum FROM ( select *, (@rownum:=@rownum+1) as rownum from `$write_table` as wr, (select @rownum:=0) tmp where wr.bo_table = '%s' order by $order_field ) A where wr_id = %d", $board['bo_table'], $wr_id);
$rownum = $wpdb->get_var($sql);
return ceil( (int)$rownum / $page_rows);
}
@thisgun 여기서 딱 쿼리부분만 다르게했네요 ㅎㅎ 감사합니다 :)