|
|
|
รบกวนถามพี่ๆเกี่ยวกับโค้ดหน่อยค่ะ ช่วยหน่อยนะค่ะ ช่วยคอมเม้น ให้หน่อยได้มั้ยค่ะ ว่าโปรแกรมมันทำงานยังไงค่ะ |
|
|
|
|
|
|
|
เอาละเอียดเลยหรอ
บอกคร่าวๆ คือมันเป็นการแบ่งหน้า
ถ้าละเอียดขอเวลาแปป
|
|
|
|
|
Date :
2009-11-05 21:04:49 |
By :
xbeginner01 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อยากได้ละเอียดค่ะ จะรอนะ มาตอบเร็วนะค่ะ
ขอบคุณค่ะ
|
|
|
|
|
Date :
2009-11-05 21:20:10 |
By :
ฺฺBetagen |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<?php
function page_count($data_record,$pagesize,$pageid){
// $data_record คือจำนวน record ทั้งหมด
// $pagesize คือ จำนวน record ต่อ 1 หน้า
// $pageid คือ หน้าที่เท่าไร
$this->totalpage = (int)($data_record / $pagesize); // คำนวณหาหน้าทั้งหมดโดยปัดเศษทิ้งก่อน
if(($data_record % $pagesize) != 0){ // ถ้าการแบ่งหน้าแล้วมีเศษให้ปัดเศษขึ้นไป 1 หน้า
$this->totalpage += 1;
}
if(isset($pageid)){
$this->startx = $pagesize * ($pageid -1); // หาหมายเลข record แรกที่จะแสดงแต่ละหน้า
}else{ // กรณีที่เริ่มต้นให้ เริ่มต้นที่หน้าที่1 เริ่มต้นที่ record 0
$pageid = 1;
$this->startx = 0;
}
return $this->startx; // ส่งค่า record แรกกลับไป
}
$strsql ="select * from p_news order by p_news.news_create desc "; // คำสั่ง sql โดยเรียงลำดับ news_create จากมากไปน้อย
$db_count = new admin_control(); // เรียกใช้ class admin_control
$db_count -> send_cmd($strsql); // เรียกใช้ฟังก์ชัน send_cmd() เพื่อทำการ connect mysql และ query
$data_record = $db_count -> num_rows(); // เก็บค่าจำนวน record ทั้งหมด
$pagesize = 20; // จำนวน 20 record ต่อ 1 หน้า
$startx = $db_count->page_count($data_record,$pagesize,$pageid); // เรียกใช้ฟังก์ชัน page_count เพื่อหา record เริ่มต้นของแต่ละหน้า
$strsql .= "LIMIT $startx, $pagesize"; // เพิ่มคำสั่ง sql กำหนดขอบเขต record ที่แสดง $startx คือ record เริ่มต้น ที่ news_create= $startx จำนวน 20 record
if ($_GET['pageid']==""){ // ถ้าเริ่มต้นแรก ให้เริ่มต้นที่ recordแรก เท่ากับ 1
$pageid=1;
$rowmenu=1; // จำนวนหมายเลขก่อนหน้าจนถึงrecord แรกนี้ เท่ากับ 1 จำนวน
}else{
$pageid=$_GET['pageid'];
$rowmenu = (($pageid-1)*$pagesize)+1 ; //จำนวนหมายเลขก่อนหน้าจนถึง record แรกนี้ เท่ากับ $rowmenu
}
$db_sql_topic -> send_cmd($strsql); // ส่งคำสั่ง sql เพื่อทำการ query ใหม่โดยมีขอบเขต การแสดงข้อมุลออกมา
?>
|
|
|
|
|
Date :
2009-11-05 21:45:37 |
By :
xbeginner01 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
โอ้โห รวดเร็วทันใจ ละเอียดจิงๆๆด้วย
เข้าใจแล้วค่ะ
ขอบคุณมากนะค่ะ
ใจดีมากมาย อิอิ
|
|
|
|
|
Date :
2009-11-05 22:51:56 |
By :
my_bebe |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|