CodeIgniter for Oracle: ADOdb Database Abstraction vs CodeIgniter Database Library

Early last year, I got the chance to learn and develop a huge web application using CodeIgniter PHP Framework. It was my first project using the framework so at that time we have decided to avoid using CodeIgniter default Database Library in fear of incompatibility with oci8 or Oracle10g.

Only afterward did I got a chance to test out CodeIgniter Database Library or ActiveRecord Library on project using MySQL. At this point, the simplicity of ActiveRecord really caught my attention but how would it be enough compared to ADOdb when using Oracle Database?
[Click here to read more...]

Comparing Today Date in MySQL

mysql
Conventionally getting today date from database in the past would require the use of date('Y-m-d'); function and add it to MySQL query such as below:

$today_date = date('Y-m-d');
$tmrw_date = date('Y-m-d', strtotime("+1 day"));
$sql = "SELECT * FROM my_table
    WHERE my_datetime BETWEEN '" . $today_date . "' AND '" . $tmrw_date . "'";

However this method might return false positive result if the web server and database server doesn’t have it date and time synchronized. From my point of view, it best to let the database server have the full control to insert, update or compare the dates. So what the alternative? You can check the full specification from MySQL Date and Time Functions but I would opt for DATEDIFF if you specifically want to compare with today date.

SELECT * FROM my_table
    WHERE DATEDIFF(my_datetime, SYSDATE())=0

Add Additional Cookie on WordPress

wordpress-logo
Today I realize that the simple setcookie("sevisitor", 1, time()+3600); would not work perfectly on WordPress especially when your combine it with WordPress permalink. Here a simple hack that you can opt for if you want to set in multiple WordPress environment (especially for plug-ins and themes).

setcookie("sevisitor", 1, time()+3600,
    SITECOOKIEPATH, COOKIE_DOMAIN, false, true);

There are multiple alternative but for it work perfectly on multiple installation.

Regular Expression Rules in Form Validation for Ext.CodeIgniter

logoYes, I have a problem with CodeIgniter built-in Form Validation Library, the lack of direct Regular Expression test/rule is a huge turn off for me especially when I need to use Regular Expression to as a rule to verify user input.

There are alternative with the use of “callback” to by creating an additional method inside your Controller. The solution is good if you have a complex filtering but why bother when all you need to do is a simple RegExp verification. Based on my Twitter status:

[Click here to read more...]

CRUD Library for Ext.CodeIgniter: An Example

logoOne of the drawback on CodeIgniter is the Scaffolding Class which is only suitable for testing or development stage. In order to do the same functionality you might find in other PHP Framework for CRUD you have to combine few available libraries in CodeIgniter including Table, Pagination, Form Validation and etc. All the libraries are great but you will end up having to write a long list of function and code to do still CRUD process.

To make the learning process much easier to understand I would actually try to convert CodeIgniter From Scratch: Day 5 – CRUD from Nettuts+ from using available libraries to Ext.CodeIgniter CRUD Library.

Requirements and Basic Informations

  • is based and developed on CodeIgniter 1.7.1, it might work with previous version but please do test it out first.
  • requires Table, Pagination, Form (Ext.CodeIgniter Library), Form Validation libraries and Form helper.
  • callback can be optimized with Template Library for Ext.CodeIgniter.
  • your model code can be minimized with ActiveRecord, you may require more works if using raw SQL.

[Click here to read more...]