|
|
|
รบกวนดูการแบ่งหน้าให้หน่อยนะพี่ คิอว่าไม่สามารถแบ่งหน้าได้พี่หน้าสองและหน้าสามก้อยังเหมือนเดิม |
|
|
|
|
|
|
|
ศึกษาดูได้ค่ะ เข้าใจง่ายกว่าค่ะ
การ แบ่งหน้า สำหรับการทำเว็บบอร์ด - สมุดเยี่ยม
สิ่งแรกที่ต้องทำก็คือ คุณต้องมีฐานข้อมูลเก็บกระทู้ของเวปบอร์ดของคุณก่อน เราจะไม่พูดถึงว่ามีฟิลด์ใดในตารางบ้าง สิ่งที่ต้องการก็คือ จำนวนกระทู้ทั้งหมดที่มีในตารางของเวปบอร์ด หาได้โดยใช้คำสั่งนี้
โค๊ด:
<?
$sql = "select * from table_name";
$rs = mysql_query($sql);
$totalrow = mysql_num_rows($rs); // ได้ตัวแปรเก็บจำนวนกระทู้ทั้งหมดแล้ว
?>
ต่อ ไปจะเป็นการแบ่งหน้า ในที่นี้คุณจำเป็นต้องทำค่า GET ใน url ของลิงค์คุณด้วย ยกเว้นหน้าแรก โดยให้ตัวแปรชื่อ $page ซึ่งจะเป็นค่าที่บอกว่าแสดงหน้าที่เท่าไร ใน url คุณจะต้องต่อท้ายเป็นดังนี้
http://www.domain.com/webboard/view.php?page=2
เป็นต้น ค่า GET ของ page=2 หมายความว่า ให้แสดงหน้าที่ 2
สคริปต์ ต่อไปนี้ เป็นการหาค่าเพื่อแบ่งหน้าให้ถูกต้องในแต่ละหน้า
โค๊ด:
<?
$pagesize = 20; // แสดงจำนวนกระทู้ในแต่ละหน้า ในที่นี้จะแสดง 20 กระทู้
$totalpage = (int)($totalrow/$pagesize); // หาจำนวนหน้าทั้งหมด
// ถ้าจำนวนหน้าเป็นเศษให้ปัดขึ้นไป
if(($totalrow%$pagesize)!=0){
$totalpage+ = 1;
}
// หา record แรกที่จะแสดงของแต่ละหน้า
if(isset($page)){
$pageno = $page;
$start = $pagesize*($pageno-1);
}else{
$pageno = 1;
$start = 0;
}
?>
การ เรียกข้อมูลมาแสดงก็ใช้ภาษา SQL ดังนี้
โค๊ด:
<?
// ตัวแปร $start เป็นค่าที่เริ่มแสดงกระทู้ ส่วนตัวแปร $pagesize ให้แสดงกี่กระทู้
$sql = "select * from table_name limit $start,$pagesize";
?>
ตอน นี้เสร็จขั้นตอนแสดงกระทู้แล้ว ต่อไปจะให้ทำลิงค์เพื่อเลือกหน้าถัดไป หรือย้อนกลับหน้าที่ต้องการ คุณสามารถก็อปปี้สคริปต์ข้างล่างนี้ไปไว้ที่หน้าเวปคุณได้เลย แค่เปลี่ยนชื่อไฟล์เท่านั้น
โค๊ด:
<?
if($pageno >1){
echo " <a href='view.php?page=",$pageno-1,"'>Previous</a> |";
}
for($i=1;$i<=$totalpage;$i++){
if($pageno==$i){
echo" <b>".$i."</b> |";
}else{
echo " <a href='view.php?page=$i'>$i</a> |";
}
}
if($pageno<$totalpage){
echo " <a href='view.php?page=",$pageno+1,"'>Next</a>";
}
?>
|
|
|
|
|
Date :
2011-11-30 23:27:31 |
By :
penpimonmink |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณพี่ mink มากเลย
แต่รบกวนถามหน่อยนะพี่คือว่าถ้ามันไม่ใช่กระทู้แต่เป็นรายการแสดงสินค้า คือว่าในฐานข้อมูลมี 30 รายการแต่ต้องการให้สินค้า 3แถว 4คอลัมภ์ แล้วแสดงหน้าต่อไปเลยพี่
|
|
|
|
|
Date :
2011-12-01 00:14:06 |
By :
oxegen |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ทำได้สิ แต่ลองทำความเข้าใจดูค่ะ
มันปรับแต่งได้ เราก้อใช้อันนี้อยู่ค่ะ
แสดงรายการสินค้า ^ ^
ลองดูค่ะ
|
|
|
|
|
Date :
2011-12-01 22:34:26 |
By :
penpimonmink |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณอีกคร้งนะพี่
|
|
|
|
|
Date :
2011-12-01 22:39:53 |
By :
oxegen |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|