ทำ query แสดงผลเป็น group ของ ตัวอักษรภาษาไทย HomeForumทำ query แสดงผลเป็น group ของ ตัวอักษรภาษาไทย zraptor80@hotmail.com ผมต้องการทำ query ข้อมูลของชื่อที่เป็นภาษาไทยแล้วให้แสดงผลเป็น group ของ ตัวอักษรภาษาไทย เช่น ก-ข-ท (กรทอง, กีรติ, ขัตติยา, ทนา, เทพ) ต้องเขียนยังไงครับ กรกฎ วิริยะ ORDER BY name ASC ก็ได้แล้วครับ เพราะมันจะเรียงตามลำดับตัวอักษรให้ ได้ผลลัพท์ตามนี้เลย กรทอง, กีรติ, ขัตติยา, ทนา, เทพ zraptor80@hotmail.com ขอบคุณครับ แต่ที่ต้องการคือแบบนี้ครับ ตัวอักษรตัวแรกของแต่ละ record แล้วมาจัด group ครับ จากตัวอย่าง ก็จะได้เป็นแค่ ตัวอักษรแรก คือ ก , ข , ท กรทอง ,กีรติ ==> ก ขัตติยา ==> ข ทนา, เทพ ==> ท ขอบคุณครับ กรกฎ วิริยะ ถ้าต้องการจัดกลุ่มแบบที่ว่า ต้องทำที่ PHP นะครับ เอาแนวคิดง่ายๆ ไปลองดัดแปลงดู <?php $datas = array('กรทอง', 'กีรติ', 'ขัตติยา', 'ทนา', 'เทพ'); $groups = array(); foreach($datas AS $value) { $groups[$value{0}][] = $value; } print_r($groups); ?> ข้อเสียของโค้ดด้านบน คือ ไม่สามารถใช้งานกับ UTF-8 ได้ และ ไม่รวมกลุ่มสระให้ zraptor80@hotmail.com ขอบคุณครับ จะลองดูครับ test test <?php $datas = array('กรทอง', 'กีรติ', 'ขัตติยา', 'ทนา', 'เทพ'); $groups = array(); foreach($datas AS $value) { $value = str_replace(array('สระเอ','สระโอ','สระนำหน้าทั้งหมด'),'',$value); $groups[$value{0}][] = $value; } print_r($groups); ?> ลองเขียนแบบนี้ครับ ความคิดเห็น รายละเอียด ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 2M ส่งความคิดเห็น
ขอบคุณครับ แต่ที่ต้องการคือแบบนี้ครับ
ตัวอักษรตัวแรกของแต่ละ record แล้วมาจัด group ครับ
จากตัวอย่าง ก็จะได้เป็นแค่ ตัวอักษรแรก คือ ก , ข , ท
กรทอง ,กีรติ ==> ก
ขัตติยา ==> ข
ทนา, เทพ ==> ท
ขอบคุณครับ
<?php
$datas = array('กรทอง', 'กีรติ', 'ขัตติยา', 'ทนา', 'เทพ');
$groups = array();
foreach($datas AS $value) {
$groups[$value{0}][] = $value;
}
print_r($groups);
?>
ข้อเสียของโค้ดด้านบน คือ ไม่สามารถใช้งานกับ UTF-8 ได้ และ ไม่รวมกลุ่มสระให้
ขอบคุณครับ จะลองดูครับ
<?php
$datas = array('กรทอง', 'กีรติ', 'ขัตติยา', 'ทนา', 'เทพ');
$groups = array();
foreach($datas AS $value) {
$value = str_replace(array('สระเอ','สระโอ','สระนำหน้าทั้งหมด'),'',$value);
$groups[$value{0}][] = $value;
}
print_r($groups);
?>
ลองเขียนแบบนี้ครับ