พบกับบทความเกี่ยวกับคอมพิวเตอร์และ programming ได้ที่ http://articles.modoeye.com
PHP development / ขอ สคริป ขึ้นหน้าใหม่หน่อยครับ
BosnoS
BosnoS
Sat 5 Aug 2006 17:54:27

คือ ผมทำหน้า โชว์ข่าวทั้งหมด ซึ่งตอนนี้มี 100 กว่าข่าวแล้ว เยอะมาก มันโชว์หน้าเดียวหมดเลย ทำให้โหลดช้า แต่ไม่รู้ว่าจะเขียนยังไงให้มันโชว์ทีละ 30 ข่าวนะครับ รบกวนขอสคริปหน่อยนะครับ

ขอบคุณครับ

BosnoS

Administrator
Sat 5 Aug 2006 21:13:30
ใช้คำสั่ง SQL ในการจำกัดการ query ด้วย LIMIT ครับ เช่น

SELECT * FROM news ORDER BY date DESC LIMIT 30
เป็นการจำกัดการ query เพื่อให้แสดงผลไม่เกิน 30 record

SELECT * FROM news ORDER BY date DESC LIMIT 10, 30
เป็นการจำกัดการ query เพื่อให้แสดงผลไม่เกิน 30 record โดยเริ่มนับจาก record ที่ 10
BosnoS
BosnoS
Mon 7 Aug 2006 00:26:05

คือ สมุติว่า ถ้ามันมี 100 ข่าว ก็อยากให้มัน แบ่งเป็น 4 หน้าให้เลย อ่ะครับ

Administrator
Mon 7 Aug 2006 02:06:52
ก็ต้องทำการนับ record ทั้งหมดครับ ใช้ COUNT() ใน MySQL ช่วยครับ เช่น
"SELECT COUNT(*) AS num FROM news"
จากนั้นเอามาหารด้วยจำนวน record ต่อ 1 หน้า จะได้ว่าต้องแสดงกี่หน้า
การเขียน query ก็ใช้ LIMIT นั่นล่ะครับ เช่น ผมใช้ตัวแปร p ผ่าน query string เพื่อบอกว่าหน้าใด จะได้

"SELECT * FROM news ORDER BY date DESC LIMIT ".((isset($_GET["p"]) && (int)$_GET["p"] > 0)?($_GET["p"]-1)*25:0).", 25"
จากโค๊ดเป็นตัวอย่างการ query ครับโดยมีส่วนสำคัญตรงที่ hilight ไว้นั่นเป็นการตรวจว่ามีการส่งตัวแปร p และเป็นตัวแปรชนิด int ที่มีค่ามากกว่า 0 หรือไม่ ถ้าไม่ก็ให้เริ่ม query จาก record ที่ 0 จำนวน 25 record ถ้ามีการส่งค่ามาเช่นเป็น 2 ให้ -1 แล้วคูณด้วยจำนวน record ที่ต้องการ จะได้ความว่าอ่าน record ตั้งแต่ record ที่ 50 ไป 25 record (หน้าละ 25 record)
BosnoS
BosnoS
Tue 8 Aug 2006 00:23:23

ขอบคุณครับ สำหรับ Code ยัง งง นิดๆ แต่จะลองเอาไปทดลองดูครับ

Reply
Name:
E-mail:
Home | Services | Forum | Classified | Directories | Support | Contact
ATOM feed RSS 0.9 feed RSS 1.0 feed RSS 2.0 feed
Copyright © 2005 - 2007 Modoeye.com, All Rights Reserved.
Disclaimer | Privacy policy | Term of Use | Term of Services
Valid XHTML Valid CSS! PHP: Hypertext Preprocessor MySQL database Apache Powered! FreeBSD Power to serve
Modoeye Sitemap Client login