Archive

Archive for May, 2011

การ Group By วันที่ ใน Format ต่าง ๆ

May 28, 2011 Leave a comment

จะขอยกตัวอย่างใน codeigniter นะครับ ซึ่งถ้าใช้ Query String ก็ใช้แบบเดียวกัน

การ Group By เวลาของ Unix time

(Unix time จะเป็นตัวเลข 10 หลัก ซึ่งถ้าไม่ใช้ Function ของ MySQL ลำบากแน่ครับ)

$this->db->group_by(“FROM_UNIXTIME(ชื่อฟิลด์ที่ต้องการกรุ๊ป, ”%Y-%m-%d”)”);

จะเป็นการ Group ตามวันเรียง ๆ กันไป เราสามารถใช้อีกเงื่อนไข

เพื่อทำการนับได้ว่าตามวันนั้น ๆ ที่ List เรียงจาก MySQL มีจำนวนเท่าไหร่

$this->db->select(‘Count(“ชื่อฟิลด์ที่ต้องการกรุ๊ป“) as number,ชื่อฟิลด์ที่ต้องการกรุ๊ป ‘);

เช่น

2011-05-28 มี 5 แถว

2011-05-29 มี 3 แถว

ค่าฟิลด์ number ของวันที่ 2011-05-28 ตาม Unix time ก็จะเท่ากับ 5

ส่วน 2011-05-29 ก็จะเท่ากับ 3 ในเวลาที่เรา foreach ผลลัพท์ออกมาทีละแถว

คราวนี้มาดู วิธี Group Datetime ของ MySQL กันบ้าง

ถ้าเรามีฟิลด์ Datetime อยู่ แล้วอยากให้ Group กัน แค่วันที่เพื่อนับว่าวันนึงมีสถิติผู้ใช้เท่าไหร่ ให้ใช้คำสั่งนี้

$this->db->group_by(“DATE(ชื่อฟิลด์ที่ต้องการกรุ๊ป)”);

หลังจากนั้นถ้าต้องการนับผลลัพท์จำนวนแถวทั้งหมด (จำนวนแถวจริง ไม่ใช่แนวหลัง Group นะครับ) ก็ให้ใช้คำสั่งแบบเดิม

คือการ Count ชื่อฟิลด์ที่กรุ๊ปแบบเดียวกับด้านบน เท่านี้ก็เขียนวิธีนับแถวตามวันได้แบบง่าย ๆ แล้ว

 

ปล. สำหรับ Codeigniter ถ้ามีปัญหาให้ลอง ใช้คำสั่งนี้วาง บนและล่างของบรรทัดที่ใช้ MySQL Function เช่น

$this->_protect_identifiers = FALSE;

$this->db->group_by(“DATE(regis_datetime)”);

$this->db->select(‘Count(“regis_datetime”) as number,DATE(regis_datetime) as day’);

$this->_protect_identifiers = TRUE;

วิธีทำให้ Tinymce ใส่รูปแบบ Full Url ไม่ใส่แบบ Relative

May 27, 2011 Leave a comment

relative_urls : false, 
remove_script_host : false, 
convert_urls : false,
document_base_url : "http://domain/",

นำ code ด้านบนไปใส่ภายใต้

tinyMCE.init({
ใส่ในนี้
})

เท่านี้รูปที่ทำการ Insert เข้า Text Area ก็จะเป็น Full Url แล้ว

Categories: PHP Tags: , ,