ค้นหาและแบ่งหน้า php+sql server (ด่วนมากครับ รบกวนอีกรอบนะครับ)
ก็ยังไม่ได้อยู่ดีอ่ะครับ ถ้ายังไงช่วยเขียนโค้ดให้แบบเต็มๆได้มั้ยครับ รบกวนหน่อยครับผม
คือ ผมต้องการดึงข้อมูลที่เอกสารที่ใช้งานอยู่เท่านั้นและแสดงผลแบ่งหน้าด้วย ครับ โดยดึงจากตาราง Spec_List โดยกำหนดให้ดึงเฉพาะข้อมูลที่ใช้งานซึ่งก็คือฟิลด์ Stat_Doc
ถ้าเราเขียนเป็นคำสั่ง mysql ก็จะได้ดังนี้นะครับ
select * from Spec_List Where Stat_Doc = '1' limit 1,10
ประมาณ นี้นะครับ แต่ถ้าเป็น sql server มันใช้ limit ไม่ได้ ผมก็เลยไปค้นหาเจอ select top * ........ ตอนนี้แบ่งหน้าได้แล้วครับ แต่ว่า จะแทรกโค้ดค้นหาตรงไหนนี่สิ ยังหาไม่เจอเลยครับ
$sql="select top $pagelen * from Spec_List where Doc_Id not in(select top $goto Doc_Id from Spec_List order by Rev asc)order by Rev asc";
ขอรบกวนท่านอาจารย์ทุกท่านด้วยครับ ช่วยแนะนำหน่อยนะครับ ขอบพระคุณมากๆนะครับ และขอโทษที่โพสซ้ำ
เอา sql ตรงที่เขียน "ค้นหา" มาให้ดูหน่อย
โค้ดที่เขียนนะครับ
$sql="select top $pagelen * from Spec_List where Doc_Id not in(select top $goto Doc_Id from Spec_List order by Rev asc)order by Rev asc";
อธิบาย
1. $pagelen คือ จำนวนแถวที่จะให้แสดง
2. $goto คือ แถวแรกที่จะแสดง
3. where Doc_Id ตรงนี้ใส่เงื่อนไขไม่ได้เช่น where Doc_Id='10' และใน () Doc_Id ต้องเหมือนกับ where ข้างหน้าครับ
ไม่ทราบว่าต้องแก้ยังไงครับรบกวนด้วยนะครับ หรือขอเว็บที่เกี่ยวกับ การเขียนติดต่อกับ sql server ก็ได้ครับผม
SELECT TOP(10) * FROM table_name WHERE (field_name LIKE '%search%') AND column NOT IN (SELECT TOP(10) * column FROM table_name WHERE field_name LIKE '%search%' ORDER BY column) ORDER BY column
เปนียบเทียบเป็นภาษาไทย
เลือก 10 รายการ ที่ field_name คล้ายกับ search และ column ไม่ได้อยู่ใน ( เลือก 10 รายการ ที่ field_name คล้ายกับ search )
ระวังด้วย 10 ตัวหลังต้องคูณด้วย page - 1 ก่อนนำไป query