|
|
|
แบ่งหน้าไม่เป็นครับช่วยทีผมมือใหม่หัดเขียน คือว่าผมจะแบ่งเป็นหน้าละ5แถว ทำอย่างไรครับช่วยทีครับ |
|
|
|
|
|
|
|
ลองนำไปประยุกต์ครับผม
Code (PHP)
โค๊ด:
<?
$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 :
2010-03-29 14:52:34 |
By :
chonburi f.c |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณมากครับ get idea แล้วครับ พี่ chonburi f.c
|
|
|
|
|
Date :
2010-03-29 15:58:10 |
By :
theteza02 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|