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,038

HOME > PHP > PHP Forum > พอจะมีวิธีไหนบ้างไหมครับ ที่จะเรียงลำดับในฐานข้อมูล โดยให้ ชื่อ index.php อยู่ในลำดับแรกเสมอ



 

พอจะมีวิธีไหนบ้างไหมครับ ที่จะเรียงลำดับในฐานข้อมูล โดยให้ ชื่อ index.php อยู่ในลำดับแรกเสมอ

 



Topic : 048752



โพสกระทู้ ( 95 )
บทความ ( 0 )



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



พอจะมีวิธีไหนบ้างไหมครับ ที่จะเรียงลำดับในฐานข้อมูล โดยให้ ชื่อ index.php อยู่ในลำดับแรกเสมอ

ถ้าใช้ การลำดับแบบธรรมดา order by filename ตัว "I" (ไอ) จะไปอยู่หลังจากตัว "H" ครับ

อยากให้เรียงลำดับ โดยสามารถกำหนดตัวอักษร ที่จะให้ขึ้นแสดงก่อนได้

PHP หรือ SQL จะสามารถทำได้หรือเปล่าครับ

ขอบคุณมากครับ



Tag : PHP, MySQL









ประวัติการแก้ไข
2010-09-14 16:21:27
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-09-14 16:16:27 By : p_latplee View : 1592 Reply : 5
 

 

No. 1



โพสกระทู้ ( 5,149 )
บทความ ( 26 )

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

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


ORDER BY ไงครับผม ใน Mysql






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-09-14 16:28:49 By : deawx
 


 

No. 2



โพสกระทู้ ( 3,750 )
บทความ ( 0 )

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

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

เรื่องง่ายๆที่พวกเราไม่เคยรู้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-09-14 18:11:17 By : Dragons_first
 

 

No. 3



โพสกระทู้ ( 78 )
บทความ ( 0 )



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


สวัสดีครับ

php คือ script ที่สั่งที่ทำงานตาม process ที่กำหนด(ส่วนเรื่องการทำงานค้นต่อเอง อิอิ)

sql คือ คำสั่งที่จะไป query ข้อมูลใน database

sql กับ mysql ถ้าดูแค่ชื่อก็คือ database เหมือนกัน แต่..... sql server ทาง Microsoft เรียก ซีควล เซิฟเวอร์ คนไทยเรียกติดปากว่า sql server (เอส คิว แอล เซิฟ เวอร์) จนทำให้เข้าใจผิดกันไปหลายคนว่าคำสั่ง sql ใช้กับ sql server


ส่วนการลำดับ ต้องขึ้นอยู่กับหลายอย่าง
ตามที่บอกมา ต้องการให้ index.php ขึ้นมาเป็นไฟล์แรก ก็ต้องถามก่อนว่าชื่อไฟล์อื่นมีตัวอักษรตัวอื่นที่จะทำให้ลำดับเพี้ยนอีกรึเปล่า ถ้ามีแล้วใช้ order by desc ก็ไม่ได้อยู่ลำดับแรกอยู่ดี

หากมีความจำเป็นจริง ๆ
- อาจต้องสั่งให้แสดง index.php ออกมาตรง ๆ แล้วค่อย query ข้อมูลตามออกมา
- หรือกำหนด field ให้เป็น priority แล้วสั่ง query ให้ order by priority แทน (หากข้อมูลมีเยอะแล้วต้องมา set ทีละ record อาจไม่คุ้มที่จะทำ)

ทางทีดีดูเรื่อง requirement กับ scope แล้วค่อยมาคิดอีกทีดีกว่าครับ "บางอย่างดูเหมือนง่าย แต่ไม่ง่ายอย่างที่คิด"
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-09-15 09:17:53 By : winphp
 


 

No. 4



โพสกระทู้ ( 95 )
บทความ ( 0 )



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

ขอบคุณทุกคำแนะนำนะครับ

ผมได้ลองดูแล้ว สามารถทำได้ในระดับนึง แต่ยังไม่ได้ผลตามที่ต้องการครับ

ผมใช้
SELECT file_name
FROM contents
ORDER BY
LCASE(file_name) LIKE '%index.php' DESC,
LCASE(file_name)

แต่ก็สามารถนำไปปรับผ่าน php ได้อีกรอบนึงครับ



//// ตัวอย่างข้อมูล ////
about/about_people.php
about/index.php
about/PRIA.php

/// ผลที่ต้องการ ///
about/index.php
about/about_people.php
about/PRIA.php
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-09-15 11:13:00 By : p_latplee
 


 

No. 5



โพสกระทู้ ( 1,603 )
บทความ ( 1 )



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


Quote:
สวัสดีครับ

php คือ script ที่สั่งที่ทำงานตาม process ที่กำหนด(ส่วนเรื่องการทำงานค้นต่อเอง อิอิ)

sql คือ คำสั่งที่จะไป query ข้อมูลใน database

sql กับ mysql ถ้าดูแค่ชื่อก็คือ database เหมือนกัน แต่..... sql server ทาง Microsoft เรียก ซีควล เซิฟเวอร์ คนไทยเรียกติดปากว่า sql server (เอส คิว แอล เซิฟ เวอร์) จนทำให้เข้าใจผิดกันไปหลายคนว่าคำสั่ง sql ใช้กับ sql server


ส่วนการลำดับ ต้องขึ้นอยู่กับหลายอย่าง
ตามที่บอกมา ต้องการให้ index.php ขึ้นมาเป็นไฟล์แรก ก็ต้องถามก่อนว่าชื่อไฟล์อื่นมีตัวอักษรตัวอื่นที่จะทำให้ลำดับเพี้ยนอีกรึ เปล่า ถ้ามีแล้วใช้ order by desc ก็ไม่ได้อยู่ลำดับแรกอยู่ดี

หากมีความจำเป็นจริง ๆ
- อาจต้องสั่งให้แสดง index.php ออกมาตรง ๆ แล้วค่อย query ข้อมูลตามออกมา
- หรือกำหนด field ให้เป็น priority แล้วสั่ง query ให้ order by priority แทน (หากข้อมูลมีเยอะแล้วต้องมา set ทีละ record อาจไม่คุ้มที่จะทำ)

ทางทีดีดูเรื่อง requirement กับ scope แล้วค่อยมาคิดอีกทีดีกว่าครับ "บางอย่างดูเหมือนง่าย แต่ไม่ง่ายอย่างที่คิด"


อ่านแล้ว งง ให้คะแนนชวนมึนดีปะนี้
เอ้าเข้าเรื่องกันดีกว่าค่ะ
ใน mysql คุณสั่ง custom order ได้ แต่กระทบกับ performance ของ database อย่างรุนแรงค่ะ
(ใน SQL SERVER ก็มี feature คล้ายๆกันอยู่ แต่ก้อเหมือนกันตรงที่ไม่ค่อยจะแนะนำให้ทำเท่าไหร่ตามเหตุผลเดิมๆค่ะ)
ยกตัวอย่าง Table schedule
มี fields: id (auto),day(varchar,50)
ที่ day เก็บวันลงไป ก้อประมาณ 'Mon' ,'Tues' etc ล่ะค่ะ
ทีนี้จะ custom oder เอา 'Tues' มาก่อน 'Sat' และ 'Mon'
SELECT * FROM `schedule` ORDER BY FIELD(`schedule`.`day` , 'Tues', 'Sat', 'Mon', 'Fri')
อันนี้ประมาณว่าตาม feature ของ mySQL เลยแต่ถ้าจะให้แนะนำ
ควรเติม field custom_order มาอีก field แบบ int ธรรมดานี่แหละค่ะ
เป็น field แบบ ให้ลำดับ manual เวลาเรียงลำดับเราก้อมาเรียงลำดับจาก custom_field นี่ดีกว่าเร็วด้วยค่ะ
หรือในกรณีของคุณน่าจะใช้การ union น่าจะตรงมากกว่า
กฎของการ union

result set 1
union
result set 2
...
...
result set N

ผลรวมของทั้งหมดจะเรียงลำดับจาก sub query ตามลำดับค่ะ
และแต่ละใน sub query ก็จะเรียงลำดับตาม order by clause ของแต่ละตัว

นั่นคือคุณก้อ select index.php ของคุณมาเลย
และสร้างอีก query นึงที่เป็น select all - index.php
แล้วเอามา union กันค่ะ











ประวัติการแก้ไข
2010-09-15 14:06:19
2010-09-15 14:10:15
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-09-15 14:05:09 By : blurEyes
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : พอจะมีวิธีไหนบ้างไหมครับ ที่จะเรียงลำดับในฐานข้อมูล โดยให้ ชื่อ index.php อยู่ในลำดับแรกเสมอ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2025 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่