|
|
|
รบกวนช่วยแบ่งหน้าค่ะ (มีรูป) ครั้งที่แล้วขอบคุณ คุณ heng มากนะคะที่ช่วยเขียนสคริปมาให้ สามารถนำไปใช้สำเร็จไปแล้ว |
|
|
|
|
|
|
|
<?
// *** สิ่งที่ต้องเปลี่ยนคือ ตาราง กับ ฟิวด์ และรูปแบบการแสดงข้อมูล ***
$mytable = "table"; // ตารางที่ต้องการแสดง <--- เปลี่ยน
if(!isset($start)){$start = 0;}
if(!isset($page)){$page=1;}
$limit = 10; // กำหนดจำนวนข้อมูลที่แสดงต่อ 1 หน้า
$totalnum= 5; // กำหนดจำนวนตัวเลขที่แสดงเลขหน้า เช่น 5 จะได้ 1 | 2 | 3 | 4 | 5 ถัดไป
$result_total = select_table("*","$mytable","","num");
$result_page = select_table("*","$mytable","LIMIT $start,$limit","num");
$page_sum=ceil($result_total[1]/$limit);
if(!$page_sum){$page_sum=1;} // จำนวนหน้า
?>
<table>
<?
// ------------------------ แสดงข้อมูล -----------------------------
while($arr_data=mysql_fetch_array($result_page[0]))
{
?>
<tr>
<td><?=$arr_data['field1']; //<----เปลี่ยนฟิวด์?></td>
<td><?=$arr_data['field2']; //<----เปลี่ยนฟิวด์?></td>
</tr>
<?
}
?>
<tr>
<td colspan="2">
<?=show_page($result_total[1],$totalnum,""); //เรียกฟังก์ชันแบ่งหน้า?>
</td>
</tr>
</table>
<?
function select_table($select,$table,$proviso,$s) // function select table
{
$sql = "SELECT $select FROM $table $proviso";
$query = mysql_query($sql);
if($s=="num"){$result = mysql_num_rows($query);}
else if($s=="fetch"){$result = mysql_fetch_array($query);}else{ $result = false;}
if($query){$array = array($query,$result); return $array;}
else{ return false;}
mysql_close();
}
function show_page($result_total,$max_page,$where) // function แบ่งหน้า
{
global $limit;
global $j;
global $page;
$sum_page = ceil($result_total/$limit);
$next = ceil($sum_page/$max_page);
$mod = $sum_page%$max_page;
$k=1;
for($n=0;$n<=$sum_page;$n=$n+$max_page)
{
$arr_page[$k]=$n;
$k++;
}
if($mod!=0)
{
$arr_page[$k]=$sum_page;
}
if(!isset($j)){$j=1;}
for($i=$arr_page[$j];$i<=($arr_page[$j+1]-1);$i++)
{
$p=$i+1;
if($j>1 && $i==$arr_page[$j])
{
echo "<a href='?".$where."start=".$limit*($p-2)."&page=".($p-1)."&j=".($j-1)."'><b>กลับ</b></a> " ;
}
if($p==$page)
{
echo "<font color='#000000'>$p</font>";
}
else
{
echo "<a href='?".$where."start=".$limit*($p-1)."&page=$p&j=$j'><font color='#FF0000'><b>$p</b></font></a>" ;
}
if($i < $arr_page[$j+1]-1){echo" | ";}
if($j<$next && $i ==($arr_page[$j+1]-1))
{
echo " <a href='?".$where."start=".($limit*$p)."&page=".($p+1)."&j=".($j+1)."'><b>ถัดไป</b></a>" ;
}
}
}
?>
|
|
|
|
|
Date :
5 ม.ค. 2551 11:05:12 |
By :
heng |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|