Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,038

HOME > PHP > PHP Forum > ถามเรื่อง function แบ่งหน้า page ครับผมยังไม่เคยทำ ไม่เข้าใจว่ามันเรียกใช้ยังไงครับ



 

ถามเรื่อง function แบ่งหน้า page ครับผมยังไม่เคยทำ ไม่เข้าใจว่ามันเรียกใช้ยังไงครับ

 



Topic : 047927

Guest




อยากแบ่งหน้าข้อมูลเป็นส่วน ๆ ครับ
แล้วผมสร้าง เป็น function แยกไว้ไฟล์นึง (ทำตามในเว็บ แบบงง ๆ)

แบบนี้ครับ
ไฟล์ functionLib.php
<?
function displayPaging( $total, $limit, $pagenumber, $baseurl ){
// how many page numbers to show in list at a time
$showpages = "10"; // 1,3,5,7,9...

// set up icons to be used
$icon_path = 'icons/';
$icon_param = 'align="middle" style="border:0px;" ';
$icon_first= '[First page]';
$icon_last= '[Lastpage]';
$icon_previous= '<< Previous';
$icon_next= 'Next >>';

// do calculations
$pages = ceil($total / $limit);
$offset = ($pagenumber * $limit) - $limit;
$end = $offset + $limit;

// prepare paging links
$html .= '<div id="pageLinks">';
// if first link is needed
if($pagenumber > 1) { $previous = $pagenumber -1;
$html .= '<a href="'.$baseurl.'1">'.$icon_first.'</a> ';
}
// if previous link is needed
if($pagenumber > 2) { $previous = $pagenumber -1;
$html .= '<a href="'.$baseurl.''.$previous.'">'.$icon_previous.'</a> ';
}
// print page numbers
if ($pages>=2) { $p=1;
$html .= "| Page: ";
$pages_before = $pagenumber - 1;
$pages_after = $pages - $pagenumber;
$show_before = floor($showpages / 2);
$show_after = floor($showpages / 2);
if ($pages_before < $show_before){
$dif = $show_before - $pages_before;
$show_after = $show_after + $dif;
}
if ($pages_after < $show_after){
$dif = $show_after - $pages_after;
$show_before = $show_before + $dif;
}
$minpage = $pagenumber - ($show_before+1);
$maxpage = $pagenumber + ($show_after+1);

if ($pagenumber > ($show_before+1) && $showpages > 0) {
$html .= " ... ";
}
while ($p <= $pages) {
if ($p > $minpage && $p < $maxpage) {
if ($pagenumber == $p) {
$html .= " <b>".$p."</b>";
} else {
$html .= ' <a href="'.$baseurl.$p.'">'.$p.'</a>';
}
}
$p++;
}
if ($maxpage-1 < $pages && $showpages > 0) {
$html .= " ... ";
}
}
// if next link is needed
if($end < $total) { $next = $pagenumber +1;
if ($next != ($p-1)) {
$html .= ' | <a href="'.$baseurl.$next.'">'.$icon_next.'</a>';
} else {$html .= ' | ';}
}
// if last link is needed
if($end < $total) { $last = $p -1;
$html .= ' <a href="'.$baseurl.$last.'">'.$icon_last.'</a>';
}
$html .= '</div>';
// return paging links
return $html;
}
?>


แล้ว index เป็นแบบนี้ครับ
index (PHP)
<?php
include_once '../includes/connect.php';
include_once '../includes/functionLib.php';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<table width="100%" border="0" align="left" cellpadding="0" cellspacing="0" bgcolor="#dedbd1">
  <tr>
    <td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="1">
      <tr>
        <td width="10%" height="29" align="center" bgcolor="#ebe9e1"><strong>#</strong></td>
        <td width="12%" height="29" align="center" bgcolor="#ebe9e1"><strong>ชื่อ</strong></td>
        <td width="12%" align="center" bgcolor="#ebe9e1"><strong>สถานะ</strong></td>
        <td width="12%" height="29" align="center" bgcolor="#ebe9e1"><strong>Edit</strong></td>
        <td width="12%" height="29" align="center" bgcolor="#ebe9e1"><strong>Delete</strong></td>
      </tr>
      <tr>
        <? 		
		displayPaging( $total, $limit, $pagenumber, $baseurl );
		$result = mysql_query("SELECT * FROM pool order by id asc");
		$total = mysql_num_rows($result);
		?>
        <? while($row = mysql_fetch_array($result)) { ?>
		<tr>
        <td height="29" align="center" bgcolor="#FFFFFF" ><?=$row["id"]?></td>
        <td height="29" align="center" bgcolor="#FFFFFF" ><?=$row["name"]?></td>
        <td height="29" align="center" bgcolor="#FFFFFF" ><?=$row["status"]?></td>
        <td height="29" align="center" bgcolor="#FFFFFF" >Edit</td>
        <td height="29" align="center" bgcolor="#FFFFFF" >Delete</td>
      </tr>
      <? } ?>
    </table></td>
  </tr>
</table><br />

</body>
</html>


ผมจะเรียกใช้ function จาก หน้า index ยังไงหรอครับ รบกวนด้วยครับ ขอบคุณครับ



Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-08-30 17:17:08 By : junior_dev View : 3022 Reply : 6
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

อันนี้น่าจะง่ายกว่าน่ะครับ ดูง่าย แก้ไขง่ายครับ

Go to : PHP MySQL List Record Paging/Pagination






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-08-30 17:20:18 By : webmaster
 


 

No. 2

Guest


แบบนี้ ผมต้องใส่ทุก ๆ หน้าใช่ป่ะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-08-30 17:24:41 By : junior_dev
 

 

No. 3

Guest


ผมเรียกใช้

Code (PHP)
displayPaging();


ไม่ได้อ่ะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-08-30 17:43:48 By : junior_dev
 


 

No. 4

Guest


ขอบคุณมากเลยครับ เดี๋ยวลองทำดู ดีจังเลยเว็บนี้คนเก่งๆทั้งนั้น เหมือนมีที่ปรึกษาเป็นอาจารย์เลย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-08-30 23:16:32 By : Nut_M
 


 

No. 5

Guest


ผมต้องใช้ การแบ่งหน้าแบบนี้หลาย ๆ ครั้งอ่ะครับ ก็เลยแยก ฟังก์ชั่น ไส้เรียกใช้ แต่ทำยังไงอ่ะครับ เรียกใช้ไม่เป็น ?

หรือมีวิธีการเขียน ที่ดีกว่านี้แนะนำมั๊ยครับผม ไม่งั้นผมต้องมานั่งแทรกโค๊ด ทีละหน้า ๆ เลยอ่ะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-08-31 09:59:25 By : junior_dev
 


 

No. 6

Guest


displayPaging( $total, $limit, $pagenumber, $baseurl )

$total = จำนวนข้อมูลทั้งหมด
$limit = จำนวนข้อมูลต่อ 1 หน้า
$pagenumber = เลขหน้าปัจจุบัน
$baseurl = Parameter ต่าง ๆ แต่ Parameter สุดท้ายต้องเป็น page=

วิธีการใช้

echo displayPaging( count($arrayRows), 10, (isset($page) == null)?1:$page, 'index.php?page=');
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-08-31 10:35:03 By : burn
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ถามเรื่อง function แบ่งหน้า page ครับผมยังไม่เคยทำ ไม่เข้าใจว่ามันเรียกใช้ยังไงครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 04
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2025 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่