| 
<?php
 require 'DataGrid.php';
 
 function testInlineFunction($email)
 {
 $email = str_replace(array('@', '.'), array(' [at] ', ' [dot] '), $email);
 
 return $email;
 }
 
 define('DB_HOST', 'localhost');
 define('DB_USER', 'root');
 define('DB_PASS', 'root');
 define('DB_NAME', 'fetesample');
 
 $dbLinkId = mysql_connect(DB_HOST, DB_USER, DB_PASS) or die('Cannot create mysql connection' . mysql_error());
 mysql_select_db(DB_NAME, $dbLinkId);
 $users = array();
 $result = mysql_query("SELECT * FROM user", $dbLinkId);
 while ($row = mysql_fetch_assoc($result))
 {
 $users[] = $row;
 }
 mysql_free_result($result);
 mysql_close($dbLinkId);
 
 ?>
 
 <html><head><title>Fete DataGrid Example</title>
 <style>
 .fdg_sortable {cursor:pointer;text-decoration:underline;color:#00f}
 .alterRow {background-color:#dfdfdf}
 </style></head><body>
 <p>Click on a table header to sort by that column.</p>
 
 <?php
 
 Fete_ViewControl_DataGrid::getInstance($users)
 ->setGridAttributes(array('cellspacing' => '1', 'cellpadding' => '5', 'border' => '0'))
 ->enableSorting(true)
 ->removeColumn('user_id')
 ->setup(array(
 'user_fullname' => array('header' => 'Fullname'),
 'user_email' => array('header' => 'Email', 'cellTemplate' => '[[testInlineFunction:%data%]]'),
 'user_date' => array('header' => 'Date Registered', 'cellTemplate' => '[[date:Y-m-d H-i-s,%data%]]')
 ))
 ->addColumnAfter('actions', '<a href="#edit.php?id=$user_id$">Edit</a> - <a href="#delete.php?id=$user_id$" onclick="return confirm(\'Are you sure you want to delete user $user_fullname$?\')">Delete</a>', 'Actions', array('align' => 'center'))
 ->addColumnBefore('counter', '%counter%.', 'Counter', array('align' => 'right'))
 ->setStartingCounter(1)
 ->setRowClass('row')
 ->setAlterRowClass('alterRow')
 ->render();
 
 ?>
 
 <p>If you have any suggestion to improve this class' features, please send me an email to: <strong>me@ndthuan.com</strong>. Thanks.</p>
 </body>
 </html>
 |