기간별 검색 스킨 적용후 페이징 이상 문제
본문
기간별 검색기능 스킨을 이용해서 아래처럼 금액 검색을 만들었는데요.
검색값을 주고 검색을 하면 처음페이지는 (하단 페이징 숫자가 실제 페이지 보다 많이 표시됩니다.)
[1][2][3] <- 정상
[1][2][3][4][5][6][7][8] <- 비정상 (4.5.67.8 클릭하면 게시글 사라짐)
2페이지만 되어도 될 페이지가 9페이지 가 되거나
1페이지만 되어도 될 페이지가 3페이지 가 되거나 합니다.
원래 총3페이지 인데 뻥튀겨져서 9페이지가 보이는 경우
경우 2페이지,3페이지를 클릭하면 오류없이 열리나
원래 없어야할 4~9페이지를 클릭하면 게시글이 모두 사리집니다. (하단 페이징 숫자는 보임)
어디를 수정해 주어야 하나요?
http://아이디.ivyro.net/g5/bbs/board.php?bo_table=apt_sale&wr_5=&wr_8=&t_start=500&t_end=550&page=1
http://아이디.ivyro.net/g5/bbs/board.php?bo_table=apt_sale&wr_5=&wr_8=&t_start=500&t_end=550&page=2
http://아이디.ivyro.net/g5/bbs/board.php?bo_table=apt_sale&wr_5=&wr_8=&t_start=500&t_end=550&page=3
===============================================
list.skin.php
<table width=100% cellpadding=0 cellspacing=0 align=center>
<!-------기간별검색---->
<form name=fsearch2 method=get style="margin:0px;">
<input type=hidden name=bo_table value="<?=$bo_table?>">
<tr>
<td width="50%" height="40">
<!--<select name=sfl>
<option value='wr_13'>기간별검색</option>
</select>-->
보증금 <input class='ed' type=t_start id=t_start name='t_start' size=8 maxlength=8 minlength=3
itemname='시작일' value='<?=$t_start?>'>
~ <input class='ed' type=t_end id=t_end name='t_end' size=8 maxlength=8 minlength=3
itemname='마지막일' value='<?=$t_end?>'>
<input type=image src="<?=$board_skin_path?>/img/btn_search.gif" border=0 align=absmiddle>
</form>
</td>
<td align="right">
</td>
</tr>
</form>
<!------//기간별검색----->
</table>
======================
skin.exe.php (list.skin.php ==>> include_once("$board_skin_path/skin.exe.php"); )
///////기간별검색//////////////
//t_start=20&t_end=25&x=25&y=9
elseif ($t_start || $t_end)
{
//$sql_search = "wr_1 >= '$t_start' && wr_1 <= '$t_end'";
//5개의 필드중 1개라도 참이면 or로 묶어줍니다.
$sql_search = "(wr_13 >= '$t_start' && wr_13 <= '$t_end') or (wr_16 >= '$t_start' && wr_16 <= '$t_end') or (wr_19 >= '$t_start' && wr_19 <= '$t_end') or (wr_22 >= '$t_start' && wr_22 <= '$t_end') or (wr_25 >= '$t_start' && wr_25 <= '$t_end') ";
//$sql_search = "(wr_13 >= '$t_start' && wr_13 <= '$t_end') and (wr_16 >= '$t_start' && wr_16 <= '$t_end') and (wr_19 >= '$t_start' && wr_19 <= '$t_end') and (wr_22 >= '$t_start' && wr_22 <= '$t_end') and (wr_25 >= '$t_start' && wr_25 <= '$t_end') ";
// 가장 작은 번호를 얻어서 변수에 저장 (하단의 페이징에서 사용)
$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);
$total_count = sql_num_rows($result);
}
///////기간별검색//////////////
////////////기간별검색/////////////////
elseif ($t_start || $t_end){
$sql = " select distinct wr_parent from $write_table where $sql_search $sql_order limit $from_record, $board[bo_page_rows] ";
}
////////////기간별검색/////////////////
//////////기간별검색////////////////////
if ($t_start || $t_end)
$row = sql_fetch(" select * from $write_table where wr_id = '$row[wr_parent]' ");
////////////////////////////////////////
답변 1
노출되는 페이징이 갯수가 맞지 않다면, list.php 에 get_paging() 함수로 호출하는 부분의 변수의 값이 잘 못 들어갔을 경우가 큽니다.
확인하시고 변경하시면 될 것 같습니다.