|
|
|
ถามเกี่ยวกับการแบ่งหน้าแสดงผลข้อมูล PHP หน่อยค่ะ ถ้าต้องการให้หน้าเว็บแสดงผลทีละ 20 record ต่อหน้า |
|
|
|
|
|
|
|
ลองเอาไปศึกษาดูครับ
Code (PHP)
<?php
$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");//เชื่อมต่อฐานข้อมูลโดย ผ่านรหัสผ่าน ชื่อ username เพื่อผ่านเข้าไปเชื่อมต่อ
$objDB = mysql_select_db("db_phon");//ติดต่อ ฐานข้อมูลชื่อ db_phon
mysql_query("set NAMES utf8");// set ค่าชนิดภาษาให้เป็น utf8 บนหน้าเว้บที่แสดง
$strSQL = "SELECT * FROM tb_buy_order ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$Num_Rows = mysql_num_rows($objQuery);
$Per_Page = 20; // จำนวน ที่แสดงต่อ page20หน้า
$Page = $_GET["Page"];
if(!$_GET["Page"])
{
$Page=1;
}
$Prev_Page = $Page-1;//เก็บผล ตัวแปล - 1 ไว้ที่ ตัวแปล $Parev_Page
$Next_Page = $Page+1;// เก็บผล ตัวแปล
$Page_Start = (($Per_Page*$Page)-$Per_Page);
if($Num_Rows<=$Per_Page)
{
$Num_Pages =1;
}
else if(($Num_Rows % $Per_Page)==0)
{
$Num_Pages =($Num_Rows/$Per_Page) ;
}
else
{
$Num_Pages =($Num_Rows/$Per_Page)+1;
$Num_Pages = (int)$Num_Pages;
}
$strSQL .=" order by id_order ASC LIMIT $Page_Start , $Per_Page";//เรียก page ตาม id_order
$objQuery = mysql_query($strSQL);
?>
<?
while($objResult = mysql_fetch_array($objQuery))
{
//ประกาศตัวแปร ที่ดึกมาจากตัวแปรมาเก็บไว้ที่ตัวแปร ทางผั่งขวามือ
$id_order_out=$objResult['id_order'];
$ProductName=$objResult['ProductName'];
$count_order=$objResult['count_order'];
$Related=$objResult['Related'];
$date=$objResult['date'];
$mont=$objResult['mont'];
$year=$objResult['year'];
?>
<center>
<table class="class_table" bordercolor="#00CCFF"><tr><td><th width="100"><div id="tabs10"><font color="#00FF00" size="-2"><? echo"$id_order_out";?></font></div></th></td><td><th width="100"><div id="tabsJ"><font color="#99FF00" size="-2"><? echo"$ProductName";?></font></div></th></td><td><th width="100"><font color="#FFFFFF" size="-2"><? echo"$count_order";?></font></th></td>
<td><th width="100"><font color="#FFFFFF" size="-2">
Total <?= $Num_Rows;?> Record : <?=$Num_Pages;?> Page:</font>
<?
if($Prev_Page)
{
echo " <font color='#333333' size='2'><a href='$_SERVER[SCRIPT_NAME]?Page=$Prev_Page'><< Back</a></font> ";
}
for($i=1; $i<=$Num_Pages; $i++){
if($i != $Page)
{
echo "<font color='#333333' size='2'>[ <a href='$_SERVER[SCRIPT_NAME]?Page=$i'>$i</a> ]</font>";
}
else
{
echo "<b> $i </b>";
}
}
if($Page!=$Num_Pages)
{
echo " <center><font color='blue'><a href ='$_SERVER[SCRIPT_NAME]?Page=$Next_Page'>Next>></a></font></center> ";
}
mysql_close($objConnect);
?>
|
|
|
|
|
Date :
2010-02-12 17:03:43 |
By :
SOUL |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่รู้ประมาณนี้หรือเปล่าครับ
ถ้าใช่ก็โหลด demo ไปเล่นดูนะครับ ต้องการ กี่ record ต่อหน้าก็กำหนดที่ $config['per_page'] = จำนวน record ต่อหน้า;
create table, search and split page
|
|
|
|
|
Date :
2010-02-12 17:04:21 |
By :
DownsTream |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณมาก ๆ ค่ะ
|
|
|
|
|
Date :
2010-02-12 23:44:11 |
By :
catty_hp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
งัยงง
|
|
|
|
|
Date :
2010-03-18 11:46:57 |
By :
aimoomoo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อยากได้แบบแสดงทีละ 10
|
|
|
|
|
Date :
2010-03-18 18:16:16 |
By :
mikeyx |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณมากเลยคร้าบ
|
|
|
|
|
Date :
2012-01-07 15:56:06 |
By :
อยากรู้...ต้องถาม |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
บรรทัดนี้หมายความว่ายังไงครับ
if(!$_GET["Page"]) {
|
|
|
|
|
Date :
2012-05-31 15:05:42 |
By :
tenshunen |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณครับ
|
|
|
|
|
Date :
2012-05-31 17:58:57 |
By :
tenshunen |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าต้องการ Select แบบมีเงื่อนไข โดยรับข้อมูลจาก Text box
ทำยังไงเมื่อเปลี่ยนหน้าแล้ว เงื่อนไขยังคงอยู่คะ
|
|
|
|
|
Date :
2012-06-28 12:14:19 |
By :
nuysharpe |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ส่งค่าไปพร้อมกลับลิงค์ครับ เพื่อให้ลิงค์จำค่าไว้
|
|
|
|
|
Date :
2012-06-28 12:50:23 |
By :
Dragons_first |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แล้วถ้า ดึงข้อมูลจาก oracle ยังไงอะครับแสดง หน้าละ 20 บรรทัดเหมือนกัน
|
|
|
|
|
Date :
2015-02-16 09:17:12 |
By :
juffiez |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตั้งกระทู้ใหม่ดีกว่าพอคู้ณๆๆๆๆ กระทู้เริ่ม 2010 จบการพูดคุยไป 2012 คุณมาถามตอนนี้....
แล้วมันเป็นเรื่อง oracle คุณสมควรต้องตั้งกระทู้มใหม่ดีกว่านะครับ
|
|
|
|
|
Date :
2015-02-16 09:25:15 |
By :
apisitp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|