|
|
|
ผมอยากได้ code แบ่งหน้าผสมกับ ให้เลือกหน้านั้นแสดงข้อมูลได้กี่แถว |
|
|
|
|
|
|
|
Code (PHP)
<?php
/* เรียกแฟ้มข้อมูล phpConfig.php มาใช้งาน */
include( "phpConfig.php" );
/* สร้าง Connection ติดต่อกับ MySQL Server เก็บไว้กับตัวแปร $conn */
$conn = mysql_connect( $ServerName, $UserName, $UserPassword );
if ( ! $conn )
die( "ไม่สามารถติดต่อกับ MySQL ได้" );
/* เลือกใช้งานฐานข้อมูลที่กำหนดไว้กับตัวแปร $DataBaseName */
mysql_select_db( $DataBaseName, $conn )
or die ( "ไม่สามารถเลือกใช้งานฐานข้อมูล $DataBaseName ได้" );
$strSQL = "SELECT * FROM tbl_page";
$Per_Page = 50;
if ( !$Page )
$Page = 1;
$Prev_Page = $Page - 1;
$Next_Page = $Page + 1;
$result = mysql_query( $strSQL );
$Page_start = ( $Per_Page * $Page ) - $Per_Page;
$Num_Rows = mysql_num_rows( $result );
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;
if ( ( $Page > $Num_Pages ) || ( $Page < 0 ) )
print "จำนวน $Page มากกว่า $Num_Pages";
$strSQL .= " LIMIT $Page_start, $Per_Page";
$result = mysql_query( $strSQL );
while ( $rs = mysql_fetch_array( $result ) )
{
echo "$rs[ID] <br>\n";
}
?>
<p class="Small">
รวมทั้งหมด <b><?php echo $Num_Rows; ?></b> เรคคอร์ด <b><?php echo $Num_Pages; ?></b> หน้า:
<?php
/* สร้างปุ่มย้อนกลับ */
if ( $Prev_Page )
echo "<a href=\"$PHP_SELF?Page=$Prev_Page\"><< ถอยหลัง </a>";
/* สร้างตัวเลขหน้า */
for ( $i=1; $i<=$Num_Pages; $i++ )
{
if ( $i != $Page )
echo "[<a href=\"$PHP_SELF?Page=$i\">$i</a>]";
else
echo " <b>$i</b> ";
}
/* สร้างปุ่มเดินหน้า */
if ( $Page != $Num_Pages )
echo "<a href=\"$PHP_SELF?Page=$Next_Page\"> เดินหน้า >></a>";
mysql_close( $conn );
?>
ลองดูน่ะครับ $Per_Page = 50; ปรับได้เลย ผมใช้ตัวนี้อยู่
|
|
|
|
|
Date :
2010-05-11 13:51:09 |
By :
rod |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณครับ แต่อันนี้ที่ผมเข้าใจคือ แก้แสดงแถวแต่ละ page ใน code ใช่มั้ยครับ แต่ที่ผมต้องการคือ แก้การแสดงแถวแต่ละ page ในหน้า web ครับ โดยการเลือกข้อมูลแถวที่จะแสดงจาก listbox มีให้เลือก 3 แบบคือ 10 50 100
ครับ ประมาณนี้อะครับ
|
|
|
|
|
Date :
2010-05-11 14:03:09 |
By :
exdo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$Per_Page = $_REQUEST["Per_Page"];
แล้วส่งไปด้วย $PHP_SELF?Page=$Prev_Page&Per_Page=$Per_Page
แล้วก็สร้าง dropdown ที่ว่า พอ dropdown change ก็ส่ง value ของมันไปเป็น Per_Page
แค่นี้ก็ได้ละ
|
|
|
|
|
Date :
2010-05-11 14:28:37 |
By :
แวะมาดู |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แก้ไขหน่อย
$Per_Page = (isset($_REQUEST["Per_Page"]) and intval($_REQUEST["Per_Page"])>0)? $_REQUEST["Per_Page"] : 50;
|
|
|
|
|
Date :
2010-05-11 14:33:23 |
By :
แวะมาดู |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณครับลองทำดูก่อนนะครับ ไม่ได้เดี๋ยวมาขอความอนุเคราะห์ต่อนะครับ
|
|
|
|
|
Date :
2010-05-11 15:10:06 |
By :
exdo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
กลับมาแล้วครับ จาก code ที่ให้มาครับ$_REQUEST["Per_Page"]
"Per_page" คืออะไรครับ ชื่อของ listbox รึป่าวครับ
|
|
|
|
|
Date :
2010-06-08 02:28:35 |
By :
exdo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอ code ที่ส่งค่าจาก drop down list หน่อยครับ
|
|
|
|
|
Date :
2010-06-08 04:22:24 |
By :
exdo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้แล้วครับ ขอบคุณมากครับ
|
|
|
|
|
Date :
2010-06-08 10:19:25 |
By :
exdo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
สุดยอดครับพี่ ขอบคุณคับ
|
|
|
|
|
Date :
2010-12-23 13:32:45 |
By :
admin |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ทำยังไงคะ
|
|
|
|
|
Date :
2011-03-11 16:12:12 |
By :
mostgirls |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|