แยกสองส่วนก็ทำได้ครับ include มันก็แค่ทำให้มันจัดการได้ง่ายขึ้นแค่นั้นเอง ใจเย็นลองค่อยๆดูครับ
1. สร้างไฟล์ใหม่ paginator.php ข้างในก็อปโค๊ดใน class Paginator มาใส่
2. (account.php) เรียกใช้งาน class Paginator
require('common.php');
require('paginator.php'); // หรือจะก็อปโค๊ดในคลาสมาใส่แทนตรงนี้ก็ได้
3. (account.php) จัดการ limit ซะ แทนที่ $images = mysqli_prepare($db, 'SELECT `id`, `ext`, `time` FROM `images` WHERE `removed` = "0" ORDER BY `time` desc'); //ORDER BY `time` ASC'
$strSQL = "SELECT `id`, `ext`, `time` FROM `images` WHERE `removed` = "0"";
$objQuery = mysql_query($strSQL);
$Num_Rows = mysql_num_rows($objQuery);
$Per_Page = 10; //จำนวนต่อหน้า
$Page = $_GET["Page"];
if(!$_GET["Page"])
{
$Page=1;
}
$Prev_Page = $Page-1;
$Next_Page = $Page+1;
$Page_Start = (($Per_Page*$Page)-$Per_Page);
if($Num_Rows<=$Per_Page)
{
$Num_Pages =1;
}
else if(($Num_Rows % $Per_Page)==0)
{
$Num_Pages =($Num_Rows/$Per_Page) ;
}
else
{
$Num_Pages =($Num_Rows/$Per_Page)+1;
$Num_Pages = (int)$Num_Pages;
}
$strSQL .=" ORDER BY `time` desc LIMIT $Page_Start , $Per_Page";
$images = mysqli_prepare($db, $strSQL);
4. (inc/account.php) ส่วนแสดงผล html ใส่โค๊ดที่ต้องการให้แสดงลิงก์หน้า
<br>
Total <?php echo $Num_Rows;?> Record
<?php
$pages = new Paginator;
$pages->items_total = $Num_Rows;
$pages->mid_range = 10;
$pages->current_page = $Page;
$pages->default_ipp = $Per_Page;
$pages->url_next = $_SERVER["PHP_SELF"]."?QueryString=value&Page=";
$pages->paginate();
echo $pages->display_pages()
?>
ปล. ผมไม่แน่ใจว่าจะใช้ได้ไหมเพราะเป็นคำสั่ง sql คนละแบบแต่ก็ประมาณนี้ ถ้าไม่ได้ก็ลองเปลี่ยนคำสั่ง sql ใหม่ ผมไม่ได้ลองผมว่าหาสคิปใหม่ที่มีระบบครบน่าจะเหมาะกว่า