Mt.Yotei In Japan (Hokkaido) ::- คู่แฝดของภูเขาไฟฟูจิยาม่าในประเทศญี่ปุ่น

วันเสาร์ที่ 2 มกราคม พ.ศ. 2553

การเขียน PHP แบ่งหน้าเพื่อแสดงรายการ

เจอมาที่ http://www.webthaidd.com/php/webthaidd_article_90_.html พอดีเห็นน้องเขาเขียนได้ดี และนำมาประยุกต์ใช้ได้เยอะ เลยนำมาเผยแพร่ต่อ


/*Connect ฐานข้อมูล */
mysql_connect('localhost','root',''); // connect mysql
mysql_select_db('topic'); // select database
/* check ว่ามี ค่าตัวแปร $start หรือไม่ ถ้าไม่มีให้ตั้งเป็น 0
ปล. อันนี้ต้องใช้กับตัวแบ่งนะ ห้ามเอาออก*/
if(!isset($start)){
$start = 0;
}
$limit = '10'; // แสดงผลหน้าละกี่หัวข้อ

/* หาจำนวน record ทั้งหมด
ปล. อันนี้ต้องใช้กับตัวแบ่งนะ ห้ามเอาออก*/
$Qtotal = mysql_query("select * from topic"); //คิวรี่ คำสั่ง
$total = mysql_num_rows($Qtotal); // หาจำนวน record

/* คิวรี่ข้อมูลออกมาเพื่อแสดงผล */
$Query = mysql_query("SELECT * FROM topic ORDER BY id DESC LIMIT $start,$limit"); //คิวรี่คำสั่ง
$totalp = mysql_num_rows($Query); // หาจำนวน record ที่เรียกออกมา

/* อันนี้ ไม่เกี่ยวเอาออกได้ */
printf("มีหัวข้อทั้งหมด %d หัวข้อ / ",$total);
printf("แสดงหน้าละ %d หัวข้อ
",$totalp);
echo "
";

/* วนลูปข้อมูล */
while($arr = mysql_fetch_array($Query)){
echo sprintf("%03d",$arr[id])." - $arr[title]
"; // แสดงผล
}
echo "
";

/* ตัวแบ่งหน้า */
$page = ceil($total/$limit); // เอา record ทั้งหมด หารด้วย จำนวนที่จะแสดงของแต่ละหน้า

/* เอาผลหาร มาวน เป็นตัวเลข เรียงกัน เช่น สมมุติว่าหารได้ 3 เอามาวลก็จะได้ 1 2 3 */
for($i=1;$i<=$page;$i++){
if($_GET['page']==$i){ //ถ้าตัวแปล page ตรง กับ เลขที่วนได้
echo "[$i]"; //ลิ้งค์ แบ่งหน้า เงื่อนไขที่ 1
}else{
echo "[$i]"; //ลิ้งค์ แบ่งหน้า เงื่อนไขที่ 2
}
}
?>


ผู้จัดทำ : ด.ช. ศิรชล จันทร์แจ่มศรี (Whitehat)
ที่อยู่อีเมลล์ : recycerclub@hotmail.com
website : http://maii.cjb.net/

2 ความคิดเห็น:

  1. ขอบคุณครับ ได้ประโยชน์เยอะเลย
    แนะนำนิดหนึ่งหน้าจะมี
    $start=$_GET[start];
    $page=$_GET[page];
    ด้วยนะเพราะ เซิฟจริง จะได้ใช้ได้

    ตอบลบ
  2. ไม่ระบุชื่อ4 มกราคม 2554 เวลา 23:23

    บางเซอร์เวอร์ก็ใช้ไม่ได้ผมลองล่ะ

    ตอบลบ