탈

게시판 목록 쿼리 대체하기

· 2016-09-04 (일) 21:32:05 · 8923 · 2
코어 부분 변경을 최소화 하면서 목록 뽑는 쿼리를 대체하는 방법.

bbs/list.php 파일에 한 줄을 추가 합니다.
아래 코드는 대략 175라인에 있습니다.

[code]
+@include_once("{$board_skin_path}/mutation.list.head.php");
// 페이지의 공지개수가 목록수 보다 작을 때만 실행
if($page_rows > 0) {
$result = sql_query($sql);
[/code]

그리고 스킨에 아래와 같은 내용으로 mutation.list.head.php 파일을 추가하고 적절히 쿼리를 변경해서 사용하면 됩니다.

게시글 목록 뽑을 때 여러 테이블을 조인해서 쿼리를 만들어야 하거나 할 때 사용하면 됩니다.

[code]
$search_realm = trim($_REQUEST['sfl']);
$search_query = trim($_REQUEST['stx']);
$search_logical = trim($_REQUEST['sop']);
$search_category = trim(urldecode($_REQUEST['sca']));
$on_page = (int) $_REQUEST['page'];

$sql_where = " AND A.wr_is_comment = 0";

switch ($search_realm) {
case 'wr_subject':
$sql_where .= " AND INSTR(A.wr_subject, '{$search_query}')";
break;
case 'wr_content':
$sql_where .= " AND INSTR(A.wr_content, '{$search_query}')";
break;
case 'wr_subject||wr_content':
$sql_where .= " AND
(
INSTR(A.wr_subject, '{$search_query}')
OR
INSTR(A.wr_content, '{$search_query}')
)";
break;
}

$sql_where .= empty($search_category) ? '' : " AND A.ca_name = '{$search_category}'";

$sql = "SELECT COUNT(*) AS C
FROM `{$write_table}` A
WHERE 1{$sql_where}";
$result = sql_query($sql);
$row = sql_fetch_array($result);

$page_rows -= (int) $notice_count;
$total_count = (int) $row['C'] + (int) $notice_count;
$total_page = ceil($total_count / $page_rows);
$from_record = ((($on_page < 1) ? 1 : $on_page) -1) * $page_rows;

$sql = "SELECT A.*
FROM `{$write_table}` A
WHERE 1{$sql_where}{$sql_order}
LIMIT {$from_record}, {$page_rows}";
[/code]
|

댓글 2개

2018-09-19 (수) 18:48:27
리스트
감사합니다.
댓글을 작성하시려면 로그인이 필요합니다.

그누보드5 팁자료실

2,788건
+
제목 글쓴이 날짜 조회
23-03-16 조회 4,745
23-03-16 조회 5,356
23-03-11 조회 5,564
23-03-09 조회 4,900
23-03-08 조회 5,264
23-03-07 조회 5,105
23-03-06 조회 5,692
23-03-05 조회 4,863
23-03-03 조회 6,556
23-03-02 조회 5,751
23-03-02 조회 4,725
23-03-01 조회 4,428
23-02-20 조회 4,756
23-02-16 조회 5,392
23-02-16 조회 4,700
23-02-11 조회 5,054
23-02-10 조회 5,518
23-02-08 조회 4,891
23-02-06 조회 5,231
23-02-05 조회 5,300
23-02-02 조회 6,627
23-02-02 조회 6,091
23-02-02 조회 4,368
23-02-02 조회 4,890
23-02-02 조회 5,211
23-02-01 조회 5,272
23-01-30 조회 4,960
23-01-27 조회 5,251
23-01-27 조회 6,462
23-01-25 조회 5,765