|
|
|
รบกวนๆพี่ขอสอบถามเกี่ยวกับการแบ่ง page ทีครับ ผมใช้ DB ของ mssql ครับ |
|
|
|
|
|
|
|
select top 20 * from testTable
จะออกมา 1-20
ส่วน 21-40 ก็ลองหาวิธีดูนะครับ
|
|
|
|
|
Date :
2013-09-06 14:09:30 |
By :
RootElement@KMUTNB |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
https://www.thaicreate.com/community/php-mysql-pagination.html --> บทความนี้มันใช้ DB เป็น ของ mysql ซึ่งใช้คำสั่ง LIMIT แต่ทว่า ผมใช้ MSSQL ซึ่งมันไม่มีคำสั่ง limit ครับ
|
|
|
|
|
Date :
2013-09-06 14:21:38 |
By :
golfwhiper |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมจะแนะนำให้อีกเทคนิคแต่มันจะยุ่งยากหน่อย
1.เราจะใช้คำสั่ง beetween ในการกำหนด จำนวนข้อมูลที่ออกมา เช่น
Code (SQL)
select * from testTable where id beetween 11 and 20
จะได้ข้อมูล 11-20 ออกมา
*ลองเช็คดูก่อนว่า beetween มันได้ค่าออกมายังไง คือ มันนับ 11-20 รึป่าว หรือนับ 11-19 หรือ 12-20
อันนี้บาง database จะนับไม่เหมือนกัน
** สามารถใช้เงื่อนไขอื่นแทน beetween ได้ เช่น
Code (SQL)
select * from testTable where id>=11 and id <= 20
ขึ้นอยุ่กับความชอบของแต่ละคน
2. แล้วจะเอา id ที่ไหนมาใช้ beetween หละ ?
ก็ใช้ PK ไงครับ
3. แล้วถ้า PK เป็น format อื่นหละ (AA0001 ,BB0002) จะทำยังไง ?
ในเมื่อ PK มันใช้ไม่ได้ ก็สร้างมันขึ้นมาเองสิครับ อันนี้ก็แล้วแต่เทคนิคของแต่ละคน เช่น
ลองหาพวกคำสั่ง numrow , rownum หรือฟังก์ชัน rownumber อะไรก็แล้วแต่ ผมไม่รู้ว่ามันใช้คำสั่งอะไร แต่มันน่าจะมีอยู่แน่นอน
ในเมื่อได้ rownumber แล้วจะรออะไรอยู่หละครับ ก็จัดการเอามันออกมาได้ตามต้องการเลยครับ
|
|
|
|
|
Date :
2013-09-06 14:45:35 |
By :
RootElement@KMUTNB |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|