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

HOME > PHP > PHP Forum > รบกวนสอบถามการเรียงลำดับชื่อ ใน php ใช้ฐานข้อมูล ORACLE ครับ สระมันไมม่เรียง



 

รบกวนสอบถามการเรียงลำดับชื่อ ใน php ใช้ฐานข้อมูล ORACLE ครับ สระมันไมม่เรียง

 



Topic : 135214



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



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




ผมใช้ and ORDER BY CONVERT (a.REG_FNAME USING tis620) ASC ไม่ได้อะครับ มัน error ครับ




Warning: oci_execute() [function.oci-execute]: ORA-00936: missing expression in C:\AppServ\www\rtcnstpay\user\checkdoccument.php on line 307

Warning: oci_fetch_array() [function.oci-fetch-array]: ORA-24374: define not done before fetch or execute and fetch in C:\AppServ\www\rtcnstpay\user\checkdoccument.php on line 309



Tag : PHP, Oracle







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2020-05-15 09:26:05 By : mungkorn View : 1330 Reply : 19
 

 

No. 1



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

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

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

เอา script มาดูครับ ไม่ก็ echo Query String ออกมาดู น่าจะมีอะไรแปลกๆเข้าไป






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-05-15 09:35:35 By : mongkon.k
 


 

No. 2



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



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


select * FROM MIA_STUDENT_REGISTER a,MIA_SCHOOL b,MIA_STUDENT_TEST c WHERE a.REG_SCHOOL_ID=b.SCHOOL_ID and a.REG_PID=c.REG_PID and a.AT_YEAR='2563'and a.REG_SCHOOL_ID like '%021104005%' and a.REG_SEX like '%M%' ORDER BY CONVERT (a.REG_FNAME USING tis620) ASC

อันนี้ echo sql มาดูครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-05-15 09:41:52 By : mungkorn
 

 

No. 3



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : mongkon.k เมื่อวันที่ 2020-05-15 09:35:35
รายละเอียดของการตอบ ::
select * FROM MIA_STUDENT_REGISTER a,MIA_SCHOOL b,MIA_STUDENT_TEST c WHERE a.REG_SCHOOL_ID=b.SCHOOL_ID and a.REG_PID=c.REG_PID and a.AT_YEAR='2563'and a.REG_SCHOOL_ID like '%021104005%' and a.REG_SEX like '%M%' ORDER BY CONVERT (a.REG_FNAME USING tis620) ASC

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-05-15 23:06:30 By : mungkorn
 


 

No. 4



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



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

ORA-00936 missing expression
Cause: A required part of a clause or expression has beenomitted. For example, a SELECT statement may have beenentered without a list of columns or expressions or withan incomplete expression. This message is also issued incases where a reserved word is misused, as in SELECTTABLE. Action: Check the statement syntax and specify the missingcomponent. The ORA-00936 happens most frequently: 1 - When you forget list of thecolumn names in your SELECT statement. 2. When you omit the FROM clause of theSQL statement.


ดูว่า "ปี" ติดกับ and หรือไม่


ORA-24374: define not done before fetch or execute and fetch
Cause: The application did not define output variables for data being fetched before issuing a fetch call or invoking a fetch by specifying a non-zero row count in an execute call. Action: Issue OCI define calls for the columns to be fetched.


https://support.oracle.com/knowledge/Oracle%20Database%20Products/2438029_1.html

http://82.221.97.1/manual/en/function.oci-fetch-array.php


ประวัติการแก้ไข
2020-05-16 13:28:32
2020-05-16 13:29:51
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-05-16 13:27:26 By : PhrayaDev
 


 

No. 5



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



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


ตอบความคิดเห็นที่ : 4 เขียนโดย : PhrayaDev เมื่อวันที่ 2020-05-16 13:27:26
รายละเอียดของการตอบ ::
select * FROM MIA_STUDENT_REGISTER a,MIA_SCHOOL b,MIA_STUDENT_TEST c WHERE a.REG_SCHOOL_ID=b.SCHOOL_ID and a.REG_PID=c.REG_PID and a.AT_YEAR='2563' and a.REG_SCHOOL_ID like '%021104005%' and a.REG_SEX like '%M%' ORDER BY CONVERT (a.REG_FNAME USING tis620) ASC
Warning: oci_execute() [function.oci-execute]: ORA-00907: missing right parenthesis in C:\AppServ\www\rtcnstpay\user\checkdoccument.php on line 323



แก้วแฃ้วก็ยังไม่ได้ครับ


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-05-21 01:21:05 By : mungkorn
 


 

No. 6



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



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

ถ้ามีชื่อ field ตรงกับ Reserved Word จับใส่ single quotes (')
https://docs.oracle.com/cd/B19306_01/em.102/b40103/app_oracle_reserved_words.htm

หรือ ลองถอด Convert ออก แล้วใส่ charset ที่ parameter 4 ตอน connect:

Code (PHP)
$conn = oci_connect('user', 'pw', 'MYDB', 'AL32UTF8');

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-05-21 03:17:05 By : PhrayaDev
 


 

No. 7



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



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


ตอบความคิดเห็นที่ : 6 เขียนโดย : PhrayaDev เมื่อวันที่ 2020-05-21 03:17:05
รายละเอียดของการตอบ ::
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<?php
$title = 'RTCNST-ระบบรับสมัคร-รายงานตัว นศท.';
$nst_user="NST_APP";
$nst_senha="123qwe";
$nst_db="(DESCRIPTION=
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA=
(SID=XE)
)
)";
$objConnect = oci_connect($nst_user,$nst_senha,$nst_db,"AL32UTF8");
?>


ก็ไม่ได้ครับ งง มาก oracle ไม่ได้ ถ้าเป็น sql ได้แล้ว แต่ ผมจำเป็นต้องใช้ oracle อะครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-05-21 11:13:52 By : mungkorn
 


 

No. 8



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



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

CONVERT เอาออกหรือยัง

Code (SQL)
select * FROM MIA_STUDENT_REGISTER a,MIA_SCHOOL b,MIA_STUDENT_TEST c WHERE a.REG_SCHOOL_ID=b.SCHOOL_ID and a.REG_PID=c.REG_PID and a.AT_YEAR='2563' and a.REG_SCHOOL_ID like '%021104005%' and a.REG_SEX like '%M%' ORDER BY a.REG_FNAME ASC


คราวนี้ error แจ้งว่าอะไรครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-05-21 12:39:25 By : PhrayaDev
 


 

No. 9

Guest


ตอบความคิดเห็นที่ : 8 เขียนโดย : PhrayaDev เมื่อวันที่ 2020-05-21 12:39:25
รายละเอียดของการตอบ ::
..เรียงครับไม่ error แต่ ชื่อที่มีสระ เ แ โ ไ ใ นำหน้ามันจะลงมาอยู่บ่างสุด เช่น กร กา ขอ จอ เก โก

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-05-21 15:13:25 By : klork012
 


 

No. 10



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



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


ตอบความคิดเห็นที่ : 8 เขียนโดย : PhrayaDev เมื่อวันที่ 2020-05-21 12:39:25
รายละเอียดของการตอบ ::

select * FROM MIA_STUDENT_REGISTER a,MIA_SCHOOL b,MIA_STUDENT_TEST c WHERE a.REG_SCHOOL_ID=b.SCHOOL_ID and a.REG_PID=c.REG_PID and a.AT_YEAR='2563' and a.REG_SCHOOL_ID like '%021104005%' and a.REG_SEX like '%M%' ORDER BY a.REG_FNAME ASC

รันได้ครับ แต่ชื่อที่มี สระนำหน้า มันตกไปอยู่ด้านล่างครับ
ตามรูป
512322

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-05-21 15:30:43 By : mungkorn
 


 

No. 11



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



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

แบบนี้ล่ะครับ

Code (SQL)
...ORDER BY a.REG_FNAME COLLATE tis620 ASC

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-05-21 16:19:14 By : PhrayaDev
 


 

No. 12



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



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


มันเป็นข้อจำกัดของ Ascii สระ มันเรียงอยู่ด้านหลัง

ถ้าไม่ใช้ ตระกูล microsoft ยังไม่ซัพพอร์ต วรรณยุกต์ภาษาไทย แค่ซัพพอร์ตอักษรไทยสระบนสระล่างได้นี่ก็บุญโขแล้ว 5555

ผมใช้วิธีเขียน ฟังก์ชั่นสลับอักษรสระ เก็บไว้อีกฟีลด์ ถีงจัดเรียงได้
หรือว่าเดี๋ยวนี้มันซัพพอร์ตแล้วหว่า 5555 ไม่ได้ติดตามนานแล้ว
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-05-21 18:49:08 By : Chaidhanan
 


 

No. 13



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



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

กำ No.11

tis620 ไม่ใช่ collation แต่เป็น charset ซึ่ง oracle ไม่มี charset ชื่อนี้


รายชื่อของอักขระไทย (Thai CharSet)
TH8TISASCII TH8TISEBCDICS TH8MACTHAIS TH8TISEBCDIC TH8MACTHAI


ส่วน CONVERT ที่เป็นความต้องการเดิมของ จขกท. ใน sql คือการแปลง CharSet ไม่ใช่ collation

CONVERT (SQL)
CONVERT (fieldname USING dest_charset)


CONVERT (Oracle)
CONVERT(char, dest_char_set[, source_char_set ])



เพราะฉะนั้นสิ่งที่ใกล้ความเป็นจริง ควรเขียนลักษณะนี้
Code (SQL)
select * FROM MIA_STUDENT_REGISTER a,MIA_SCHOOL b,MIA_STUDENT_TEST c WHERE a.REG_SCHOOL_ID=b.SCHOOL_ID and a.REG_PID=c.REG_PID and a.AT_YEAR='2563' and a.REG_SCHOOL_ID like '%021104005%' and a.REG_SEX like '%M%' ORDER BY CONVERT(a.REG_FNAME, 'TH8TISASCII') ASC



ถ้ายังไม่ได้อีก อาจต้องดู document อย่างละเอียดอีกที
https://docs.oracle.com/database/121/NLSPG/applocaledata.htm#NLSPG584
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-05-21 19:14:52 By : PhrayaDev
 


 

No. 14



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



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


ตอบความคิดเห็นที่ : 13 เขียนโดย : PhrayaDev เมื่อวันที่ 2020-05-21 19:14:52
รายละเอียดของการตอบ ::
select * FROM MIA_STUDENT_REGISTER a,MIA_SCHOOL b,MIA_STUDENT_TEST c WHERE a.REG_SCHOOL_ID=b.SCHOOL_ID and a.REG_PID=c.REG_PID and a.AT_YEAR='2563'and a.REG_SCHOOL_ID like '%021104005%' and a.REG_SEX like '%M%' ORDER BY CONVERT(a.REG_FNAME, 'TH8TISASCII') ASC



ไม่ error ครับ แต่ ยังเรียงสระไม่ได้ ครับ สระยังอยู่ล่างอยู่ครับ



ขอขอบคุณพี่ๆๆทุกท่านที่ตอบกระทู้ผมครับ ขอบคุณครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-05-21 20:03:06 By : mungkorn
 


 

No. 15



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



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

ใกล้ความจริงแล้ว
ขอทราบผลตัว TH8TISEBCDICS และอันอื่นด้วยครับ
มีเรียงถูกบ้างไหม
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-05-21 20:25:41 By : PhrayaDev
 


 

No. 16



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



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


ตอบความคิดเห็นที่ : 15 เขียนโดย : PhrayaDev เมื่อวันที่ 2020-05-21 20:25:41
รายละเอียดของการตอบ ::
ตัวอื่น error ครับ Warning: oci_execute() [function.oci-execute]: ORA-01482: unsupported character set in

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-05-21 21:00:13 By : mungkorn
 


 

No. 17



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



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

Syntax
NLSSORT(char [, 'nlsparam' ])


Code (SQL)
select * FROM MIA_STUDENT_REGISTER a,MIA_SCHOOL b,MIA_STUDENT_TEST c WHERE a.REG_SCHOOL_ID=b.SCHOOL_ID and a.REG_PID=c.REG_PID and a.AT_YEAR='2563' and a.REG_SCHOOL_ID like '%021104005%' and a.REG_SEX like '%M%' ORDER BY NLSSORT(a.REG_FNAME, 'NLS_SORT = THAI_M')

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-05-21 21:54:50 By : PhrayaDev
 


 

No. 18



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



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


ตอบความคิดเห็นที่ : 17 เขียนโดย : PhrayaDev เมื่อวันที่ 2020-05-21 21:54:50
รายละเอียดของการตอบ ::
ขอขอบคุณพี่ พระยาเทพ มากๆๆครับ รันได้ละครับ ขอขอบพระคุณ เป็นอย่างสูงจากใจจริงครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-05-21 22:08:45 By : mungkorn
 


 

No. 19



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



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

ด้วยความยินดีครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-05-21 22:17:46 By : PhrayaDev
 

   

ค้นหาข้อมูล


   
 

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