Showing posts with label Codeigniter. Show all posts
Showing posts with label Codeigniter. Show all posts
Monday, September 14, 2015
Wednesday, May 20, 2015
DataTables Server Side Processing with CodeIgniter
[caption id="attachment_1101" align="aligncenter" width="273"]
DataTables[/caption]
In this tutorial, we will see how to use popular dataTables with CodeIgniter framework. Note that, pagination is done in client side for this tutorial. Hence this example is not ideal for a big data set. Handling pagination in server side will be discussed in a future tutorial.
Table format
[sourcecode language="html"]
<th>Need identified thru</th>
<th>Total Estimate</th>
<th class="no-sort"></th>
<th class="no-sort"></th>
</tr>
</thead>
</table>
[/sourcecode]
Initializing and fetching data with ajax
[sourcecode language="javascript"]
<script>
$(document).ready(function() {
$('#dataTables').dataTable({
"ajax": "<?php echo base_url('test/get_json'); ?>",
"pageLength": <?php echo $this->config->item('results_per_page'); ?>,
"order": [[ 0, "desc" ]],
"aoColumnDefs": [
{ "bVisible": false, "aTargets": [0] },
{
"bSortable": false,
"aTargets": ["no-sort"]
}],
"dom": 'T<"clear">lfrtip',
tableTools: {
"sSwfPath": "<?php echo base_url("plugins/data_tables/extensions/TableTools/swf/copy_csv_xls_pdf.swf"); ?>"
}
});
});
</script>
[/sourcecode]
Test Controller
[sourcecode language="php"]
class Test extends CI_Controller {
public function get_json() {
$this->load->model('test_model');
$results = $this->test_model->load_grid();
$data = array();
foreach ($results as $r) {
array_push($data, array(
$r['rname'],
$r['year'],
$r['mname'],
$r['need'],
$r['total_cost'],
anchor('test/view/' . $r['id'], 'View'),
anchor('test/edit/' . $r['id'], 'Edit')
));
}
echo json_encode(array('data' => $data));
}
}
[/sourcecode]
Model
[sourcecode language="php"]
class Test_model extends CI_Model {
public function load_grid() {
$this->db->select("$this->tbl_urgent_needs.unid,$this->tbl_urgent_needs.year,$this->tbl_urgent_needs.needi,$this->tbl_urgent_needs.total_cost,$this->tbl_maintenance_type.name AS mname,$this->tbl_roads.name AS rname");
$this->db->from("$this->tbl_urgent_needs");
$this->db->join("$this->tbl_roads", "$this->tbl_roads.rid = $this->tbl_urgent_needs.rd_id");
$this->db->join("$this->tbl_maintenance_type", "$this->tbl_maintenance_type.id = $this->tbl_urgent_needs.maint_type_id", "left");
$this->db->order_by("$this->tbl_urgent_needs.unid", 'ASC');
$query = $this->db->get();
return $query->result_array();
}
}
[/sourcecode]
DataTables[/caption]In this tutorial, we will see how to use popular dataTables with CodeIgniter framework. Note that, pagination is done in client side for this tutorial. Hence this example is not ideal for a big data set. Handling pagination in server side will be discussed in a future tutorial.
Table format
[sourcecode language="html"]
<th>Need identified thru</th>
<th>Total Estimate</th>
<th class="no-sort"></th>
<th class="no-sort"></th>
</tr>
</thead>
</table>
[/sourcecode]
Initializing and fetching data with ajax
[sourcecode language="javascript"]
<script>
$(document).ready(function() {
$('#dataTables').dataTable({
"ajax": "<?php echo base_url('test/get_json'); ?>",
"pageLength": <?php echo $this->config->item('results_per_page'); ?>,
"order": [[ 0, "desc" ]],
"aoColumnDefs": [
{ "bVisible": false, "aTargets": [0] },
{
"bSortable": false,
"aTargets": ["no-sort"]
}],
"dom": 'T<"clear">lfrtip',
tableTools: {
"sSwfPath": "<?php echo base_url("plugins/data_tables/extensions/TableTools/swf/copy_csv_xls_pdf.swf"); ?>"
}
});
});
</script>
[/sourcecode]
Test Controller
[sourcecode language="php"]
class Test extends CI_Controller {
public function get_json() {
$this->load->model('test_model');
$results = $this->test_model->load_grid();
$data = array();
foreach ($results as $r) {
array_push($data, array(
$r['rname'],
$r['year'],
$r['mname'],
$r['need'],
$r['total_cost'],
anchor('test/view/' . $r['id'], 'View'),
anchor('test/edit/' . $r['id'], 'Edit')
));
}
echo json_encode(array('data' => $data));
}
}
[/sourcecode]
Model
[sourcecode language="php"]
class Test_model extends CI_Model {
public function load_grid() {
$this->db->select("$this->tbl_urgent_needs.unid,$this->tbl_urgent_needs.year,$this->tbl_urgent_needs.needi,$this->tbl_urgent_needs.total_cost,$this->tbl_maintenance_type.name AS mname,$this->tbl_roads.name AS rname");
$this->db->from("$this->tbl_urgent_needs");
$this->db->join("$this->tbl_roads", "$this->tbl_roads.rid = $this->tbl_urgent_needs.rd_id");
$this->db->join("$this->tbl_maintenance_type", "$this->tbl_maintenance_type.id = $this->tbl_urgent_needs.maint_type_id", "left");
$this->db->order_by("$this->tbl_urgent_needs.unid", 'ASC');
$query = $this->db->get();
return $query->result_array();
}
}
[/sourcecode]
Monday, June 30, 2014
Passing Multiple Parameters to Form Validation Custom Callbacks in Codeigniter
[caption id="attachment_979" align="aligncenter" width="225"]
Codeigniter Custom Callbacks[/caption]
CI natively only allows for single parameter in custom callbacks. For an instance see the following code.
[sourcecode language="php"]
$this->form_validation->set_rules
('hstate', 'State', 'required|callback_suburb_check[' . $suburb . ']');
[/sourcecode]
If you need to pass multiple parameters, you have several options. Obviously you can change CI behaviour by subclassing the core library. But in this tutorial we follow the less pain approach. That 's to access required parameters via POST variables within your custom callback function. They are still available in this scope.
There is another way using your PHP string handling knowledge. Just formatting all the parameters as single string and passing to the callback function.
[sourcecode language="php"]
$parameters = 'first_arg' . '||' . 'second_arg' . '||' . 'third_arg';
$this->form_validation->set_rules
('some_field', 'Some Field Name', 'callback__my_callback_function['.$parameters.']');
[/sourcecode]
Then in your callback,
[sourcecode language="php"]
function _my_callback_function($field_value, $second_parameter){
list($first_param, $second_param, $third_param) = split('||', $second_parameter);
...
}
[/sourcecode]
CI natively only allows for single parameter in custom callbacks. For an instance see the following code.
[sourcecode language="php"]
$this->form_validation->set_rules
('hstate', 'State', 'required|callback_suburb_check[' . $suburb . ']');
[/sourcecode]
If you need to pass multiple parameters, you have several options. Obviously you can change CI behaviour by subclassing the core library. But in this tutorial we follow the less pain approach. That 's to access required parameters via POST variables within your custom callback function. They are still available in this scope.
There is another way using your PHP string handling knowledge. Just formatting all the parameters as single string and passing to the callback function.
[sourcecode language="php"]
$parameters = 'first_arg' . '||' . 'second_arg' . '||' . 'third_arg';
$this->form_validation->set_rules
('some_field', 'Some Field Name', 'callback__my_callback_function['.$parameters.']');
[/sourcecode]
Then in your callback,
[sourcecode language="php"]
function _my_callback_function($field_value, $second_parameter){
list($first_param, $second_param, $third_param) = split('||', $second_parameter);
...
}
[/sourcecode]
Saturday, May 3, 2014
How to remove index.php from CodeIgniter URL in Ubuntu
[caption id="attachment_979" align="aligncenter" width="225"]
CodeIgniter[/caption]
In
to:
Create or modify .htaccess in project root with following content.
Also allow overriding htaccess in your apache
and edit the file & change to
and
Restart Apache
or:
or:
In
application/config/config.php change:$config['index_page']='index.php';to:
$config['index_page']='';Create or modify .htaccess in project root with following content.
# Customized error messages.
ErrorDocument 404 /index.php
# Set the default handler.
DirectoryIndex index.php
# Various rewrite rules.
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
</IfModule>Also allow overriding htaccess in your apache
/etc/apache2/sites-available/defaultand edit the file & change to
AllowOverrideAlland
Restart Apache
sudo /etc/init.d/apache2 reloador:
sudo service apache2 reloador:
sudo /etc/init.d/httpd reload
Tuesday, June 18, 2013
HTML Email with Codeigniter
[sourcecode language="php"]
$this->email->to( 'abc@gmail.com' );
$this->email->subject( 'Test' );
$this->email->message( $this->load->view( 'email/message', $data, true ) );
$this->email->send();
[/sourcecode]
$this->email->to( 'abc@gmail.com' );
$this->email->subject( 'Test' );
$this->email->message( $this->load->view( 'email/message', $data, true ) );
$this->email->send();
[/sourcecode]
Subscribe to:
Comments (Atom)
How to enable CORS in Laravel 5
https://www.youtube.com/watch?v=PozYTvmgcVE 1. Add middleware php artisan make:middleware Cors return $next($request) ->header('Acces...
-
< Requirements Java Development Kit (JDK) NetBeans IDE Apache Axis 2 Apache Tomcat Server Main Topics Setup Development Environ...
-
I have already written several posts regarding Android database applications. This post might be similar to those tuts. However this is more...