การ Group By วันที่ ใน Format ต่าง ๆ
จะขอยกตัวอย่างใน 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
relative_urls : false,
remove_script_host : false,
convert_urls : false,
document_base_url : "http://domain/",
นำ code ด้านบนไปใส่ภายใต้
tinyMCE.init({
ใส่ในนี้
})
เท่านี้รูปที่ทำการ Insert เข้า Text Area ก็จะเป็น Full Url แล้ว