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 > สอบถามการใช้งาน dataTables ร่วมกับ Codeigniter ครับ เกี่ยวกับการค้นหาจากฟิวล์ Datetime



 

สอบถามการใช้งาน dataTables ร่วมกับ Codeigniter ครับ เกี่ยวกับการค้นหาจากฟิวล์ Datetime

 



Topic : 117961



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



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




ผมใช้งาน dataTables โดยผมให้แสดง 3 คอลัมภ์ คือ

1. หัวข้อ
2. วันที่สร้าง
3. จำนวนคนดู

การค้นหาสามารถทำได้ในกรณีพิมพ์เป็น ตัวเลข แต่จะเกิดปัญหาเมื่อค้นหาด้วยข้อความ เช่นผมพิมพ์ ก ลงไป จะเกิด error ทันที

ค่า response ที่มันคืนมาจะ error ที่ sql อย่างนี้ครับ

<p>Error Number: 1271</p><p>Illegal mix of collations for operation 'like'</p>

SQL
Code (PHP)
SELECT SQL_CALC_FOUND_ROWS title, created, visitors
FROM (`news`)
WHERE  `title`  LIKE '%ก%'
OR  `created`  LIKE '%ก%'
OR  `visitors`  LIKE '%ก%'
ORDER BY `title` asc
LIMIT 13


การแก้ error ลักษณะ นี้ ทำอย่างไรได้บ้างครับ



Tag : PHP, MySQL









ประวัติการแก้ไข
2015-07-22 13:36:18
2015-07-22 13:36:32
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2015-07-22 13:35:19 By : 9nonameman View : 1546 Reply : 8
 

 

No. 1



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



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


https://www.thaicreate.com/php/forum/096340.html

จากกระทู้ ด้านบน มีปัญหากับ Like ด้วย ภาษาไทย

หลังจากลองเปลี่ยนภาษาเป็น อังฤกษ ได้ปกติ

เป็นที่การค้นหาฟิล์ ที่เป็น datetime ด้วยคำภาษาไทย จะ error

แก้ปัญหานี้ยังไงได้บ้างครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-22 15:12:26 By : 9nonameman
 


 

No. 2



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



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

ก็ตรวจสอบก่อนครับ

Code (PHP)
$srh='ก';
$sql = "
SELECT SQL_CALC_FOUND_ROWS title, created, visitors
FROM `news`
WHERE  `title`  LIKE '%$srh%' ".
(preg_match('/^\d{4}-\d{2}-\d{2}$/', $srh)? " OR  `created`  = '$srh' " : '' )."
OR  `visitors`  LIKE '%$srh%'
ORDER BY `title` asc
LIMIT 13



ประวัติการแก้ไข
2015-07-22 15:31:43
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-22 15:31:13 By : NewbiePHP
 

 

No. 3



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



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


ขอบคุณครับ

มันสำหรับเช็ค ประโยค ไทยเลยไหมครับ

Code (PHP)
$srh = 'ก';
echo (preg_match('/^\d{4}-\d{2}-\d{2}$/', $srh))? "ก ไก่" : "ไม่ ก ไก่"; 


มันเข้าเงื่อนไข ไม่ ก ไก่ ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-22 15:57:36 By : 9nonameman
 


 

No. 4



โพสกระทู้ ( 4,756 )
บทความ ( 8 )



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


Code (SQL)
SELECT SQL_CALC_FOUND_ROWS title, created, visitors
FROM (`news`)
WHERE  `title`  LIKE '%ก%'
OR  `created`  LIKE '%ก%'
OR  `visitors`  LIKE '%ก%'
ORDER BY `title` asc
LIMIT 13


เอามารันใน phpmyadmin แล้วได้ผลอย่างไรบ้าง? มี error อะไรมั้ย?



ตั้งข้อสังเกตุนิดนึงนะครับ
SQL_CALC_FOUND_ROWS คืออะไร? ทำไมไม่มี , ต่อท้าย??
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-23 09:51:21 By : mr.v
 


 

No. 5



โพสกระทู้ ( 4,756 )
บทความ ( 8 )



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


Code (PHP)
function is_date( $str ){
    $stamp = strtotime( $str ); 
    if (!is_numeric($stamp) || !preg_match("^\d{1,2}[.-/]\d{2}[.-/]\d{4}^", $str)) 
        return FALSE; 
    $month = date( 'm', $stamp ); 
    $day   = date( 'd', $stamp ); 
    $year  = date( 'Y', $stamp ); 
    if (checkdate($month, $day, $year)) 
        return TRUE; 
    return FALSE; 
}


อาจจะต้องเอามาเช็คก่อนนะครับว่าค่าที่รับมาเป็นค่าวันที่มั้ย? ถ้าไม่ใช่ก็ไม่ต้องไปใส่ like date ตรงนั้น
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-23 10:04:17 By : mr.v
 


 

No. 6



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



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

ตอบความคิดเห็นที่ : 3 เขียนโดย : 9nonameman เมื่อวันที่ 2015-07-22 15:57:36
รายละเอียดของการตอบ ::
เช็คว่าไม่ใช่วันที่ครับ


ถ้าเช็คว่า ไม่ใช่ภาษาไทย ต้องรู้แหล่งที่มาของข้อมูลว่าเป็น ascii หรือ utf8 ด้วยครับ
และต้องรู้ว่าไฟล์นามสกุล PHP ที่เขียนอยู่ เป็น utf8 หรือ ascii ด้วย

preg_match('/[ก-๛]/u') check unicode มีภาษาไทย ในข้อความ
preg_match('/[^ก-๛]/u') check unicode มีภาษาอื่นนอกจากภาษาไทย ในข้อความ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-23 10:12:02 By : NewbiePHP
 


 

No. 7



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



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


ตอบความคิดเห็นที่ : 5 เขียนโดย : mr.v เมื่อวันที่ 2015-07-23 10:04:17
รายละเอียดของการตอบ ::
ขอบคุณครับ คุณ mr.v ผมได้ลองนำไปรันที่ phpmyadmin ขึ้น error

Illegal mix of collations for operation 'like'

เหมือนกันครับ


มันจะแสดง error เฉพาะเมื่อนำฟิวล์ชนิด datetime มา like ด้วยค่าที่เป็นภาษาไทยเท่านั้นครับ

OR `created` LIKE '%ก%'

แต่ถ้าเป็น

OR `created` LIKE '%a%'

แบบนี้ไม่ error ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-23 10:20:50 By : 9nonameman
 


 

No. 8



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



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


ตอบความคิดเห็นที่ : 6 เขียนโดย : NewbiePHP เมื่อวันที่ 2015-07-23 10:12:02
รายละเอียดของการตอบ ::
ขอบคุณครับ ยังไงจะนำไปปรับใช้ดูครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-23 10:21:26 By : 9nonameman
 

   

ค้นหาข้อมูล


   
 

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