ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingรบกวน code แบ่งหน้าใช้ PHP ทีสิครับ
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: รบกวน code แบ่งหน้าใช้ PHP ทีสิครับ  (อ่าน 13119 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
$100perday
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 324
ออฟไลน์ ออฟไลน์

กระทู้: 2,032



ดูรายละเอียด
« เมื่อ: 24 พฤษภาคม 2012, 15:23:47 »

รูปแบบเหมือน Google เลยครับ

[previous] 1 2 3 4 ...18 19 [next]

ประมาณนี้ครับ
ถ้ามีตัวอย่าง จักขอบคุณยิ่งครับ

ปล.เอาแค่แสดงข้อมูลจากฐานข้อมูลครับ
เช่น
ตาราง Member
มี 2 ฟิลด์คือ name , email
ทั้งหมด 30 แถว
ต้องการแสดงหน้าละ 5 รายการครับ  wanwan017 wanwan017
บันทึกการเข้า

เหนื่อย..
obi001
ก๊วนเสียว
*

พลังน้ำใจ: 26
ออฟไลน์ ออฟไลน์

กระทู้: 365



ดูรายละเอียด
« ตอบ #1 เมื่อ: 24 พฤษภาคม 2012, 15:36:56 »

hxxp://www.thaicreate.com/community/php-mysql-pagination.html

search มาจาก google
บันทึกการเข้า

ขอให้เงินทองจงอยุ่กับท่าน
comscizaa
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 123
ออฟไลน์ ออฟไลน์

กระทู้: 1,854



ดูรายละเอียด เว็บไซต์
« ตอบ #2 เมื่อ: 24 พฤษภาคม 2012, 15:46:09 »

สคริปแบ่งหน้าของผมทุกตัวก็ใช้โค๊ดที่มาจาก thaicreate ดังข้างบนนี่แหละครับ แล้วนำมาปรับเปลี่ยนใช้ในรูปแบบของตัวเองครับ
บันทึกการเข้า

siammbk
ก๊วนเสียว
*

พลังน้ำใจ: 38
ออฟไลน์ ออฟไลน์

กระทู้: 237



ดูรายละเอียด เว็บไซต์
« ตอบ #3 เมื่อ: 24 พฤษภาคม 2012, 16:42:43 »

รูปแบบเหมือน Google เลยครับ

[previous] 1 2 3 4 ...18 19 [next]

ประมาณนี้ครับ
ถ้ามีตัวอย่าง จักขอบคุณยิ่งครับ

ปล.เอาแค่แสดงข้อมูลจากฐานข้อมูลครับ
เช่น
ตาราง Member
มี 2 ฟิลด์คือ name , email
ทั้งหมด 30 แถว
ต้องการแสดงหน้าละ 5 รายการครับ  wanwan017 wanwan017

โค๊ด:
<?
$g=$_GET;
$limit=5;

$q=mysql_query("select * member");
$n=ceil(mysql_num_rows($q)/$limit);
if(!$g["page"] or $g["page"]==1){$page=0;}
else{$page=($g["page"]*$limit)-$limit;}

for($i=1;$i<=$n;$i++)
{$showlink.="<a href='?page=$i'>".$i."</a> ";}
$showlink="หน้า : ".$showlink;

$qr=mysql_query("select * from member limit $page,$limit");
while($xarr=mysql_fetch_array($qr))
{
echo $xarr["name"]."&nbsp;&nbsp;".$xarr["email"]."<br>";
}
echo "<br>".$showlink;
?>

ลองดูคับผม
« แก้ไขครั้งสุดท้าย: 24 พฤษภาคม 2012, 16:59:26 โดย siammbk » บันทึกการเข้า

รับออกแบบเว็บไซต์ ทุกรูปแบบ งานใหญ่ๆ ระบบยากๆ ราคาแรงๆ คุยกันคับ
line : siammbk
tel : 095-675-8614
xvlnw.com
Verified Seller
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 493
ออฟไลน์ ออฟไลน์

กระทู้: 5,905



ดูรายละเอียด เว็บไซต์
« ตอบ #4 เมื่อ: 24 พฤษภาคม 2012, 16:50:59 »

+http://phptechnique.com/การแบ่งเพจ-ใน-php.html

ลองดูครับ มี Function ให้ใช้เลย
บันทึกการเข้า

iLhay
Verified Seller
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 411
ออฟไลน์ ออฟไลน์

กระทู้: 4,371



ดูรายละเอียด เว็บไซต์
« ตอบ #5 เมื่อ: 24 พฤษภาคม 2012, 16:54:14 »

select ข้อมูลทั้งหมดมาก่น

แล้วก็จับมาหารตามที่อยากให้แสดงในเพจ

แล้วก็เอาออกมาแสดงคับ

 wanwan020 wanwan020
บันทึกการเข้า

Wordpress Hosting


Wordpress Hosting เริ่มต้นปีละ 790 บาท NVMe SSD เร็ว 9000MB/s เร็วกว่านี้ไม่มีอีกแล้ว
Cloud Server เริ่มต้นเพียงเดือนละ 159 บาท พร้อมใช้ภายใน 1 นาที ผ่านระบบอัตโนมัติมีทั้ง Linux / Windows / DirectAdmin
สอบถามข้อมูลและแจ้งปัญหา 02-105-4417 ตลอด 24 ชั่วโมง
$100perday
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 324
ออฟไลน์ ออฟไลน์

กระทู้: 2,032



ดูรายละเอียด
« ตอบ #6 เมื่อ: 24 พฤษภาคม 2012, 17:21:54 »

ขอบคุณทุกท่านมากครับ

จริ ๆ ผมมีแบบแสดงหมายเลขทุกหน้าเลย เช่น
ข้อมูล 20 ให้แสดงหน้าละ 5 เท่ากับ 4 หน้า ก็แสดง 1 2 3 4

แต่ถ้าข้อมูลเยอะ เช่น 1000 รายการ หน้าละ 5 ก็แสดงทั้งหมด 20 หน้า

อย่างนี้มันจะเยอะเกินไป  wanwan017
บันทึกการเข้า

เหนื่อย..
siammbk
ก๊วนเสียว
*

พลังน้ำใจ: 38
ออฟไลน์ ออฟไลน์

กระทู้: 237



ดูรายละเอียด เว็บไซต์
« ตอบ #7 เมื่อ: 24 พฤษภาคม 2012, 17:37:01 »

ขอบคุณทุกท่านมากครับ

จริ ๆ ผมมีแบบแสดงหมายเลขทุกหน้าเลย เช่น
ข้อมูล 20 ให้แสดงหน้าละ 5 เท่ากับ 4 หน้า ก็แสดง 1 2 3 4

แต่ถ้าข้อมูลเยอะ เช่น 1000 รายการ หน้าละ 5 ก็แสดงทั้งหมด 20 หน้า

อย่างนี้มันจะเยอะเกินไป  wanwan017


ก็ปรับตรง $limit=5; เป็น $limit=50;

หรือไรงี้ก็ได้คับ
บันทึกการเข้า

รับออกแบบเว็บไซต์ ทุกรูปแบบ งานใหญ่ๆ ระบบยากๆ ราคาแรงๆ คุยกันคับ
line : siammbk
tel : 095-675-8614
$100perday
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 324
ออฟไลน์ ออฟไลน์

กระทู้: 2,032



ดูรายละเอียด
« ตอบ #8 เมื่อ: 24 พฤษภาคม 2012, 18:14:25 »

ขอบคุณทุกท่านมากครับ

จริ ๆ ผมมีแบบแสดงหมายเลขทุกหน้าเลย เช่น
ข้อมูล 20 ให้แสดงหน้าละ 5 เท่ากับ 4 หน้า ก็แสดง 1 2 3 4

แต่ถ้าข้อมูลเยอะ เช่น 1000 รายการ หน้าละ 5 ก็แสดงทั้งหมด 20 หน้า

อย่างนี้มันจะเยอะเกินไป  wanwan017


ก็ปรับตรง $limit=5; เป็น $limit=50;

หรือไรงี้ก็ได้คับ

ใช่ครับ ปรับได้
แต่ยิ่งปรับน้อยลง หมายเลขหน้าก็จะเยอะขึ้นไปเรื่อยๆ ครับ  wanwan004
บันทึกการเข้า

เหนื่อย..
siammbk
ก๊วนเสียว
*

พลังน้ำใจ: 38
ออฟไลน์ ออฟไลน์

กระทู้: 237



ดูรายละเอียด เว็บไซต์
« ตอบ #9 เมื่อ: 24 พฤษภาคม 2012, 18:41:59 »

ขอบคุณทุกท่านมากครับ

จริ ๆ ผมมีแบบแสดงหมายเลขทุกหน้าเลย เช่น
ข้อมูล 20 ให้แสดงหน้าละ 5 เท่ากับ 4 หน้า ก็แสดง 1 2 3 4

แต่ถ้าข้อมูลเยอะ เช่น 1000 รายการ หน้าละ 5 ก็แสดงทั้งหมด 20 หน้า

อย่างนี้มันจะเยอะเกินไป  wanwan017



ก็ปรับตรง $limit=5; เป็น $limit=50;

หรือไรงี้ก็ได้คับ


ใช่ครับ ปรับได้
แต่ยิ่งปรับน้อยลง หมายเลขหน้าก็จะเยอะขึ้นไปเรื่อยๆ ครับ  wanwan004


ตัวที่ผมให้ไปมันเป็นแบบง่าย

ส่วนตัวที่คล้ายของ google ผมก็เขียนไว้เหมือนกัน

แต่เขียนเป็นในรูปแบบของ function ไว้

ลิ้งนี้เลยครับ http://www.livepramool.com/index.php?mod=close-bids

เลื่อนมาดูด้านล้างคับ
บันทึกการเข้า

รับออกแบบเว็บไซต์ ทุกรูปแบบ งานใหญ่ๆ ระบบยากๆ ราคาแรงๆ คุยกันคับ
line : siammbk
tel : 095-675-8614
NightClub
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 297
ออฟไลน์ ออฟไลน์

กระทู้: 2,461



ดูรายละเอียด เว็บไซต์
« ตอบ #10 เมื่อ: 24 พฤษภาคม 2012, 19:04:55 »

เช็ค max row ก่อนแล้วหารด้วยจำนวนข้อมูล สมมุติมี 1000 ข้อมูล 100 หน้า จะได้

$maxpage = 100;
$dataperpage = 10;

for($i = 0;$i<$maxpage+1$i++){
if($i < 5){
echo $i;
}else if(($maxpage-$i)<2){
echo $i;
}else{
if(!$firstdot){
echo " ........ ";
$firstdot = 1;
}
}

}

จะได้ 1 2 3 4 5 .........  99 100

บันทึกการเข้า

รับจ้างเขียนโปรแกรม PHP งานมืออาชีพ เสร็จตามที่กำหนด ราคาปานกลาง
เหมาะกับผู้ที่รับงานมาแล้วส่งต่อจ๊ะ PM มาเลย
$100perday
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 324
ออฟไลน์ ออฟไลน์

กระทู้: 2,032



ดูรายละเอียด
« ตอบ #11 เมื่อ: 24 พฤษภาคม 2012, 20:02:03 »

ขอบคุณทุกท่านมากครับ  wanwan017
บันทึกการเข้า

เหนื่อย..
vii
Verified Seller
สมุนแก๊งเสียว
*

พลังน้ำใจ: 132
ออฟไลน์ ออฟไลน์

กระทู้: 946



ดูรายละเอียด เว็บไซต์
« ตอบ #12 เมื่อ: 25 พฤษภาคม 2012, 16:24:23 »

http://www.okvee.net/articles/...8%A7%E0%B8%A2-pagination-class
แบบ 1 แบ่งหน้าแบบที่เห็นทั่วไป


http://www.okvee.net/articles/...%81%E0%B9%88%E0%B8%AD%E0%B8%99
แบบ 2 แบ่งหน้าแบบเอาข้อมูลใหม่มาก่อน แล้วคลิก previous ไปเรื่อยๆ เหมือนใน fb.
บันทึกการเข้า

soonnew
คนรักเสียว
*

พลังน้ำใจ: 11
ออฟไลน์ ออฟไลน์

กระทู้: 198



ดูรายละเอียด
« ตอบ #13 เมื่อ: 25 พฤษภาคม 2012, 17:04:41 »

select * from member limit (($page-1)*30),30

ส่วน เลข page ก็ใช้

select count(*) from member  เอามา / ด้วย 30 แล้วจะได้ รอบที่เราต้องวน loop

ถ้าจำไม่ผิด  Cry
 
« แก้ไขครั้งสุดท้าย: 25 พฤษภาคม 2012, 17:05:59 โดย soonnew » บันทึกการเข้า
DevLism
Newbie
*

พลังน้ำใจ: 5
ออฟไลน์ ออฟไลน์

กระทู้: 57



ดูรายละเอียด เว็บไซต์
« ตอบ #14 เมื่อ: 26 พฤษภาคม 2012, 11:36:22 »

โค๊ด:
http://www.phpclasses.org/package/7449-PHP-Generate-links-or-buttons-to-browse-paged-listings.html
บันทึกการเข้า

ไม่มี
$100perday
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 324
ออฟไลน์ ออฟไลน์

กระทู้: 2,032



ดูรายละเอียด
« ตอบ #15 เมื่อ: 26 พฤษภาคม 2012, 11:39:03 »

ขอบคุณทุกท่านมากครับ ที่แนะนำ
และขอบคุณย่างสูงสำหรับท่าน siammbk ครับ
ช่วยจนเสร็จเลยครับ สุดยอดจริง ๆ  wanwan017 wanwan017
บันทึกการเข้า

เหนื่อย..
หน้า: [1]   ขึ้นบน
พิมพ์