Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > PHP > PHP Forum > ต้องการแบ่งหน้าใน PHP ครับ ถ้าผมต้องการแบ่งหน้าในPHP ครับ สมมติว่ามีข้อมูล 50 ข้อมูล ต้องการแบ่งหน้า



 

ต้องการแบ่งหน้าใน PHP ครับ ถ้าผมต้องการแบ่งหน้าในPHP ครับ สมมติว่ามีข้อมูล 50 ข้อมูล ต้องการแบ่งหน้า

 



Topic : 024384

Guest




ถ้าผมต้องการแบ่งหน้าในPHP ครับ
สมมติว่ามีข้อมูล 50 ข้อมูล ต้องการแบ่งหน้าล่ะ 10
ต้องการมีปุ่มเดินหน้าถอยหลัง ถ้าข้อมูลเยอะขึ้นอยากให้มี << >>ครับ


และตอนนี้ปัญหาที่ผมติดคือ แบ่งหน้าล่ะ 10 แต่พอกดหน้าถัดไปมันก็ยังนับ 1-10 อยู่เหมือนเดิม
ทำไมมันไม่นับ 11-20 ครับ ช่วยแนะนำหน่อยนะครับโค๊ดก็มีดังนี้ครับแก้ไขตรงไหนช่วยด้วยนะครับ

<table width="100%" align="center" cellspacing="1" class="admintable">


<tr>
<td align="center" class="key">ลำดับ</td>
<td align="center" class="key">ชื่อ - สกุล</td>
<td align="center" class="key">โทรศัพท์</td>
<td align="center" class="key">อีเมล์</td>
<td align="center" class="key">อายุ</td>
<td align="center" class="key">อาชีพ</td>
<td align="center" class="key">จังหวัด</td>
<td align="center" class="key">วัน-เดือน-ปี</td>
<td align="center" class="key">ลบ</td>
</tr>

<?php
///// ข้อมูลเกี่ยวกับผู้ใช้งานฐานข้อมูล //////////////
$dbhost="localhost";//ชื่อโฮส
$dbusername="xxx";//ชื่อผู้ใช้งานฐานข้อมูล MySQL
$dbpassword="xxx";//รหัสผ่านของผู้ใช้งานฐานข้อมูล MySQL
$dbname="member";//ชื่อฐานข้อมูล
$dbtable="member";//ชื่อตาราง

//////////////////////////// ติดต่อกับ MySQL Server ///////////////////////////////////////
$connect_mysql = mysql_connect( $dbhost, $dbusername, $dbpassword );
if ( ! $connect_mysql ) die( "ไม่สามารถติดต่อกับ MySQL ได้" );

//////////////////////////// เลือกใช้งานฐานข้อมูล //////////////////////////////////////////////////
mysql_select_db( $dbname, $connect_mysql )or die ( "ไม่สามารถเลือกใช้งานฐานข้อมูล$dbname" );

///////////// // คำสั่ง SQL ให้เลือกใช้งานตาราง ///////////////////////////////////////////////
$sql = "SELECT * FROM $dbtable order by id";



/////////////// กำหนดจำนวนข้อมูลแสดงผลต่อ 1 หน้า //////////////////////
$per_page = 10;
//////////////////////////////////////////////////////////////////////////////////


if ( !$page )
$page = 1;
$prev_page = $page - 1;
$next_page = $page + 1;
$result = mysql_query( $sql );
$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";
$count=1;

/////////////// คำสั่ง SQL กำหนดลิมิต ให้แสดงผลต่อ 1 หน้า///////////////////////////////
$sql .= " desc LIMIT $page_start, $per_page";
$result = mysql_query( $sql );


////////////////////// นำข้อมูลออกมาแสดงผล ////////////////////////////////////////////////
while ( $rs = mysql_fetch_array( $result ) ) //นำค่าที่ผ่านการคิวรี่จากตัวแปร $result มาทำการวนลูปเพื่อเอาค่าในแต่ละฟิลด์ออกมาโชว์แสดงผล
{
//echo "$rs[name] <br>\n";//
//echo "$rs[province] <br>\n";//นำค่าในฟิลด์ต่างๆออกมาแสดง//
echo "
<tr >
<td><font color='blue'>$count</td>
<td><font color='blue'>$rs[name]</td>
<td><font color='blue'>$rs[phone]</td>
<td><font color='blue'>$rs[email]</td>
<td><font color='blue'>$rs[age]</td>
<td><font color='blue'>$rs[occupation]</td>
<td><font color='blue'>$rs[province]</td>
<td><font color='blue'>$rs[date_reg]</td>
<td><cenrer>

<a href=\"delete.php?id_del=$rs[id]\" onclick=\"return confirm(' คุณต้องการที่จะลบชื่อคุณ&nbsp;&nbsp; $rs[name] &nbsp;&nbsp;ออกจากระบบใช่หรือไม่ ? ')\"><img src=\"images/delete.gif\" width=\"10\" height=\"10\" /></a></center>
</td>
</td>
</tr>";

$count++;

}
/////////////////////////////////////////////////////////////////
?>
<!- - แสดงผลจำนวนเรคคอร์ดของข้อมูล จำนวนหน้าและลิงค์หน้าต่อๆไป - - !>
รวมทั้งหมด&nbsp;&nbsp; <b><?php echo $num_rows; ?></b>&nbsp;&nbsp;คน




&nbsp;&nbsp;จำนวน&nbsp;&nbsp;<b><?php echo $num_pages; ?></b>&nbsp;&nbsp; หน้า &nbsp;&nbsp; หน้าที่ :
<?php
////////////////// สร้างปุ่มย้อนกลับ ///////////////////////////////
if ( $prev_page )

echo "<a href=\"$PHP_SELF?page=$prev_page\">&nbsp;&nbsp;&lt;&lt;กลับไป&nbsp;&nbsp; </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\">&nbsp; &nbsp;หน้าต่อไป &gt;&gt;&nbsp;&nbsp;</a>";



////////////////// ปิดการเชื่อมต่อฐานข้อมูล ////////////////////////////

mysql_close( $connect_mysql );

?>




Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2009-01-29 02:29:23 By : dreamnop View : 1263 Reply : 2
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

Code เยอะมากครับ PHP MySQL List Record Paging






Date : 2009-01-29 09:23:27 By : webmaster
 


 

No. 2

Guest


ขอบคุณครับดูแล้วครับแต่ยังไม่ตรงกับความต้องการครับ คือผมต้องการให้มัน บอกเลขข้างหน้าน่ะครับเช่น

หน้าแรกมี ข้อมูลอย่างเช่น

ลำดับที่ ชื่อ-นามสกุล ที่อยู่
1 XXXXXXXXX
2 xxxxxxxxxxxxxxxx
3 xxxxxxxxxxxxxxx
..........................................
10 XXXXXXXXX

แต่พอกดหน้าที่ 2 หรือ 3 หรือ 4 ไปเรื่อยๆมันก็จะเป็นอย่างนี้ครับ
ลำดับที่ ชื่อ-นามสกุล ที่อยู่
1 XXXXXXXXX
2 xxxxxxxxxxxxxxxx
3 xxxxxxxxxxxxxxx แต่ชื่อข้างหลังเปลี่ยนไปตามหน้าครับแต่ลำดับไม่ยอมเพิ่มตามครับ
..........................................
10 XXXXXXXXX

ซึ่งความเป็นจริงแล้วมันต้องเป็น 11-20 จริงไหมครับ
Date : 2009-01-29 11:21:50 By : dreamnop
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ต้องการแบ่งหน้าใน PHP ครับ ถ้าผมต้องการแบ่งหน้าในPHP ครับ สมมติว่ามีข้อมูล 50 ข้อมูล ต้องการแบ่งหน้า
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 03
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่