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

리스트 번호를 번호순으로 하게 도와주세요

· 12년 전 · 1657 · 3
번호를 번호순으로 뿌리려고 시도하는 도중에 페이지로 넘기면 정렬이 제대로 안되더군요 도와주세요

제가 하고자하는게

번호를

5
4
3
2
1 이런식으로 뿌려주는데

총 레코드의 수가 30개이고

총 페이지수가 3이라고 가정시

1페이지의 번호는 $top = mysql_affected_row()를 이용하여 while 문에서 $i의 초기값을 0으로 지정하고 처음 번호를 찍을때 $top - $i 이런식으로 뿌렸는데요 이렇게 하니까 1페이지에서는 제대로 되는데 2페이지부터 1페이지랑 똑같이 번호가 출력되더라구요 이 방식이 잘못 된거 같아서 while문으로 할 시에 번호를 페이지가 넘어가도 역순으로 뿌려주는 방법좀 알려주세요 ㅠㅠ


///////////목록출력시작/////////

//변수초기화
$ipp=10;// 한페이지에 표시될 레코드 수 설정
$ten=5; // 한 화면에 표시될 페이지 번호의 수
$page = $_GET[page];
//검색어 정의
if ($keyword!="")
{
$sql_where = " where $keyfield like '%$keyword%' ";
}//if

//전체 글수 계산
$total_sql = "select count(*) from board3 ";
$total_sql .= $sql_where;//검색조건
$res = mysql_query($total_sql);
$total_count = mysql_result($res,0,0);
//if ($res) $rs = mysql_fetch_row($res);

//$total_count = $rs[0];//검색된 글수
$totpage = ceil($total_count/$ipp);//총 페이지수 연산

$page = min(max(1,$page),$totpage); // 1< 출력할 페이지 번호 <전체 페이지수
//현재페이지의 시작레코드를 찾습니다.
$startrow = ($page - 1) * $ipp;

//현재 페이지에 출력할 레코드 선택질의
$list_sql = "select * from board3 ";
$list_sql .= $sql_where;//검색조건
$list_sql .= " order by groupnum desc, stepnum asc";//정렬조건
$list_sql .= " limit $startrow, $ipp ";//한 페이지에 출력할 글수 제한

$res = mysql_query($list_sql);

if($page==1)
{
$sql = "select * from board3";
$re = mysql_query($sql);

$top = mysql_affected_rows(); // 중간번호 삭제시 숫자가 비는것을 방지, 쿼리의 행 개수
}
else
{
$top = mysql_affected_rows(); // 중간번호 삭제시 숫자가 비는것을 방지, 쿼리의 행 개수
}

?>

<table width="650" height="24" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
<td align="right">Total <? echo number_format($totpage);?> pages / <? echo number_format($total_count);?>
items</td>
</tr>
</table>

<table width="650" border="0" align="center" cellpadding="0" cellspacing="0">
<tr align="center" bgcolor="#EBE8D8">
<td width="50" height="24">번호</td>
<td width="40" align=left bgcolor="#EBE8D8">종류</td>
<td>제목</td>
<td width="50" bgcolor="#EBE8D8">작성자</td>
<td width="80">등록일</td>
<td width="50">조회</td>
</tr>
<?
if ($res)
{
$i=0;
while ($rs = mysql_fetch_array($res))
{


?>
<tr bgcolor="<?
if ($rowid==$rs[rowid])
{
echo "#e0e0e0";
}
else
{
if ($i%2==0)
echo "#f0f0f0";
else
echo "#eaeaea";
}
?>"> <!--<td height="24" align="center"><? echo $rs[rowid];?></td> 글의 등록번호-->
<td height="24" align="center"><? echo $top-$i?></td> <!-- 중간번호 삭제시 숫자가 비는 것을 방지 -->
<td align="left">
<? if ($rs[assin]=="긴급") {?>
<? echo $rs[assin];?>
<? } if($rs[assin]=="일반") {?>
<? echo $rs[assin];}?>
</td>
<td style="cursor:hand;" onClick="self.location='list.php?rowid=<? echo $rs[rowid];?>&rowid2=<? echo $rs_user[rowid];?>';">
<?
for ($d=0;$d<$rs[depth];$d++) echo "&nbsp;&nbsp;";
if ($rs[stepnum]>0) echo '<img src="img/icon_sub.gif" align="absmiddle">';
?>
<? echo str_limit($rs[subject],50,"...");?></td>
<td align="center"><? echo str_limit($rs[name],8,"");?></td>
<td align="center"><? echo substr($rs[input_date],0,10);?></td>
<td align="center"><? echo number_format($rs[access]);?></td>
</tr>
<?
$i++;
}//while
}//if

$block = ceil($page / $ten); // 현재 화면에 표시할 링크 블록 번호
$startpage = ($block - 1) * $ten + 1; // 첫번째 링크 번호
$endpage = min($startpage + $ten - 1, $totpage); // 마지막 링크번호

?>

</table>
<table width="650" height="40" border="0" align="center" cellpadding="5" cellspacing="0" bgcolor="#EBE8D8" style="border:0px #333333 solid;border-bottom-width:3px;">
<tr>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td style="color:#333333;font-size:12px;"><span style="font-weight:bold;">Go
to Page:</span> &nbsp;
<? if ($startpage>1) { ?>
<a style="cursor:hand;color:#333333;font-weight:;font-size:12px;" onClick="search_form.startpage.value='1'; search_form.page.value='1';search_form.submit();">◀</a>
<a style="cursor:hand;color:#333333;font-weight:;font-size:12px;" onClick="search_form.startpage.value='<? echo $page-$ten;?>';search_form.page.value='<? echo $page-$ten;?>';search_form.submit();">Prev</a>
<? }//if ?>
<?

for ($j=$startpage;$j<=$endpage;$j++) {

if ($page==$j)
{
echo "<b>[$j]</b>";
}
else
{
echo "<a href=\"javascript:search_form.page.value='$j';search_form.submit();\">";
echo "[$j]";
echo "</a>";
}
}//for
?>
<? if ($endpage<$totpage) { ?>
<a style="cursor:hand;color:#333333;font-weight:;font-size:12px;" onClick="search_form.startpage.value='<? echo $page+$ten;?>'; search_form.page.value='<? echo $page+$ten;?>';search_form.submit();">Next</a>
<a style="cursor:hand;color:#333333;font-weight:;font-size:12px;" onClick="search_form.startpage.value='<? echo $totpage;?>'; search_form.page.value='<? echo $totpage;?>';search_form.submit();">▶</a>
<? }//if ?>
&nbsp;</td>
</tr>
</table>
</td>
<td align="right">
<form action="list.php" method="get" name="search_form" id="search_form" style="margin:0px;">
<table border="0" cellspacing="0" cellpadding="0">
<tr><input type="hidden" name="rowid2" value="<? echo $rs_user[rowid]; ?>">
<td> <input name="page" type="hidden" id="page">
<input name="startpage" type="hidden" id="startpage">
<select name="keyfield" id="keyfield">
<option value="subject" <? if($keyfield=="subject") echo "selected";?>>제목</option>
<option value="assin" <? if($keyfield=="assin") echo "selected";?>>종류</option>
<option value="name" <? if($keyfield=="name") echo "selected";?>>이름</option>
</select></td>
<td><input name="keyword" type="text" id="keyword" value="<? echo $keyword;?>" size="12">
</td>
<td>
<input type="submit" name="Submit" value="Search"></td>
</tr>
</table>
</form></td>

댓글 작성

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

로그인하기

댓글 3개

echo $i+1 ;
이거 말씀하시는것 같네요
http://sir.co.kr/bbs/board.php?bo_table=g4_qa&wr_id=117519&sca=&sfl=wr_subject%7C%7Cwr_content&stx=number_format&sop=and&spt=-55904&page=9

윗글 참조하세요..

전체게시판 적용은 bbs/list.php 수정하시고..

스킨만 수정하시려면 다른 방법을 찾아보세요.
$list[$i][num] = $total_count - ($page - 1) * $board[bo_page_rows] - $k;

이문구중에 $board[bo_page_rows] 이게 뭔지를 잘모르겠네요

게시글 목록

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