초보 그누보드 사용자 질문 전체검색 페이징 처리 질문요

· 2011-05-31 (화) 16:05:16 · 1115
php 다룬지 2주 밖에 안돼는 초보 입니다.
그누보드를 이용해서 전체검색중 특정그룹만 선택하게 해 놓고 조건을 넣어서 검색을 하게 했습니다
일단 검색은 돼는데 페이징이 문제가 있어서 적어 봅니다.
페이징은 제대로 나온데 첫페이지에서 2번째 페이지 넘기면 게시물이 없다고 뜨네요..
이 문제 를 어떻게 해결해야 할찌 고민하다 보니 스킨 쪽이 아닌가해서 스킨쪽을 보니 스킨쪽은 단순히 $write_pages 이거만 가져오더라구요 해결방법은 몬지 아니면 페이징 처리가 어떤 원리로 처리 돼는지 궁금해서 적어봅니다 잘 부탁 드려염...
search3.php 원본 search.php 건드리기 시러서 복사해서 이 search3.php파일로 링크 걸어서 검색 했습니다. 허접하지만 쿼리문 제 홈페이지에 맞게 살작 건드렸고요.. 잘 튜닝된 쿼리문은 아니고요... ^^;;
먼저 search3.php 소스 입니다.

'' ";
$row3 = sql_fetch($sql3);
if (!$row3[cnt])
continue;
}
}
}
$g4_search[tables][] = $row[bo_table];
$g4_search[read_level][] = $row[bo_read_level];
}

$search_query = "sfl=".urlencode($sfl)."&stx=".urlencode($stx)."&sop=$sop";


$text_stx = get_text(stripslashes($stx));

$op1 = "";

// 검색어를 구분자로 나눈다. 여기서는 공백
$s = explode(" ", $stx);

// 검색필드를 구분자로 나눈다. 여기서는 +
$field = explode("||", trim($sfl));

$str = "(";
for ($i=0; $i $search_table_count[$i])
{
$table_index = $i;
$from_record = $from_record - $search_table_count[$i-1];
break;
}
}

$bo_subject = array();
$list = array();

$k=0;
for ($idx=$table_index; $idx= $member[mb_level])
{
$row[wr_content]= strip_tags($row[wr_content]);
$content = cut_str(get_text($row[wr_content]),300,"…"); // 검색에 html 보이지 않게 수정 topschool
$content = cut_str(conv_content($row[wr_content],2),300,"…");
if (strstr($sfl, "wr_content"))
$content = search_font($stx, $content);
}
else
$content = '';

$list[$idx][$i][subject] = $subject;
$list[$idx][$i][content] = $content;
$list[$idx][$i][name] = get_sideview($row[mb_id], cut_str($row[wr_name], $config[cf_cut_name]), $row[wr_email], $row[wr_homepage]);
$list[$idx][$i][wr_3] = $row[wr_3];
$list[$idx][$i][wr_5] = $row[wr_5];
$list[$idx][$i][wr_7] = $row[wr_7];
$list[$idx][$i][wr_8] = $row[wr_8];
$list[$idx][$i][wr_9] = $row[wr_9];
$list[$idx][$i][wr_10] = $row[wr_10];

$k++;
if ($k >= $rows)
break;
}
sql_free_result($result);

if ($k >= $rows)
break;

$from_record = 0;
}

$write_pages = get_paging($config[cf_write_pages], $page, $total_page, "$_SERVER[PHP_SELF]?$search_query&gr_id=$gr_id&srows=$srows&onetable=$onetable&page=");

//$write_pages = get_jy_paginate($config[cf_write_pages], $page, $total_page, "$_SERVER[PHP_SELF]?$search_query&gr_id=$gr_id&srows=$srows&onetable=$onetable&page=");
echo "";
}

$group_select = "전체 분류";
$sql = " select gr_id, gr_subject from $g4[group_table] order by gr_id ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++)
$group_select .= "$row[gr_subject]";
$group_select .= "";

if (!$sfl) $sfl = "wr_subject";
if (!$sop) $sop = "or";

$search_skin_path = "$g4[path]/skin/search/$config[cf_search_skin]";
//include_once("$search_skin_path/search.skin.php");
include_once("$search_skin_path/list.skin.php");
include_once("./_tail.php");
?>

두번째는 전체검색 스킨 소스 입니다. 그중에 페이징 부분만 넣을께요..








search_prev.gif"; } ?>
", $write_pages);
$write_pages = str_replace("이전", "page_prev.gif", $write_pages);
$write_pages = str_replace("다음", "page_next.gif", $write_pages);
$write_pages = str_replace("맨끝", "page_end.gif", $write_pages);
$write_pages = preg_replace("/([0-9]*)/", "$1", $write_pages);
$write_pages = preg_replace("/([0-9]*)/", "$1", $write_pages);
?>


search_next.gif"; } ?>
|
댓글을 작성하시려면 로그인이 필요합니다.

그누4 질문답변

66,531건

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기 기존 게시물은 열람만 가능합니다.

+
제목 글쓴이 날짜 조회
11-05-31 조회 862
11-05-31 조회 918
11-05-31 조회 1,066
11-05-31 조회 2,011
11-05-31 조회 1,628
11-05-31 조회 3,034
11-05-31 조회 834
11-05-31 조회 2,240
11-05-31 조회 902
11-05-31 조회 883
11-05-31 조회 988
11-05-31 조회 1,116
11-05-31 조회 1,523
11-05-31 조회 1,669
11-05-31 조회 1,667
11-05-31 조회 1,386
11-05-31 조회 1,643
11-05-31 조회 1,675
11-05-31 조회 1,230
11-05-31 조회 1,043