CodeIgniter Grocery CRUD Tutorial

By |

Sponsored

From CodeIgniter 2.0 the Scaffolding is depricated. Developers are eagarly looking for a CRUD Library in CodeIgniter. Actually the CRUD generator will help the life of a developer easier.

The Grocery CRUD Library for codeigniter will make the complete CRUD system with a few lines of code. This is a very stable system so you can use it in production also. It is a totally automatic system that even a newbie in PHP can work with.

The Grocery CRUD Library is dual licensed under GPL and MIT

With grocery CRUD and with the power of Codeigniter framework , you can create a full CRUD system in just one minute. With this Codeigniter CRUD generator , you don’t have to copy all your css, JavaScripts, tables, forms, grid, functions , models, libraries, views again and again to your backoffice system. Just few lines of code and you are ready to have your own CMS. The CRUD is working well with Codeigniter 2.0.x and 2.1.x

CodeIgniter CRUD with grocery CRUD

Step 1: Just Install CodeIgniter. Download CodeIgniter Extract it and place it in the webserver executing folder. Then just call it on the browser as http://localhost/yourcodeigniterinstallation/index.php

Then you will get a welcome screen that codeigniter is installed and working properly.

Welcome Page Codeigniter

Step 2: Activate your database server and add a new database into mysql. And modify the database configuration file application/config/database.php

the username of mysql and password and the database name. The host is normaly localhost.

Step 3:

Create a Controller like this . The file is in application/controllers/main.php

<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Main extends CI_Controller {

    function __construct()
    {
        parent::__construct();

        $this->load->database();

    }

    public function index()
    {
        echo "<h1>Welcome to the world of Codeigniter</h1>";//Just an example to ensure that we get into the function
        die();
    }
}

/* End of file main.php */
/* Location: ./application/controllers/main.php */

To make sure that everything works fine, you have to go to http://localhost/your_project/index.php/main and see the message: Welcome to the world of Codeigniter. If you have an error like Database Error Occured

Codeigniter Database Error

Then something goes wrong with the database connection, check your password and the username and try again.

Step 4.Create your table in your database. Let’s say we have the table with table name employees. The SQL code that you can insert is:

CREATE TABLE IF NOT EXISTS `employees` (
  `employeeNumber` int(11) NOT NULL AUTO_INCREMENT,
  `lastName` varchar(50) NOT NULL,
  `firstName` varchar(50) NOT NULL,
  `extension` varchar(10) NOT NULL,
  `email` varchar(100) NOT NULL,
  `officeCode` varchar(10) NOT NULL,
  `file_url` varchar(250) CHARACTER SET utf8 NOT NULL,
  `jobTitle` varchar(50) NOT NULL,
  PRIMARY KEY (`employeeNumber`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1703 ;

INSERT INTO `employees` (`employeeNumber`, `lastName`, `firstName`, `extension`, `email`, `officeCode`, `file_url`, `jobTitle`) VALUES
(1002, 'Murphy', 'Diane', 'x5800', 'dmurphy@classicmodelcars.com', '1', '', 'President'),
(1056, 'Patterson', 'Mary', 'x4611', 'mpatterso@classicmodelcars.com', '1', '', 'VP Sales'),
(1076, 'Firrelli', 'Jeff', 'x9273', 'jfirrelli@classicmodelcars.com', '1', '', 'VP Marketing'),
(1088, 'Patterson', 'William', 'x4871', 'wpatterson@classicmodelcars.com', '6', '', 'Sales Manager (APAC)'),
(1102, 'Bondur', 'Gerard', 'x5408', 'gbondur@classicmodelcars.com', '4', 'pdftest.pdf', 'Sale Manager (EMEA)'),
(1143, 'Bow', 'Anthony', 'x5428', 'abow@classicmodelcars.com', '1', '', 'Sales Manager (NA)'),
(1165, 'Jennings', 'Leslie', 'x3291', 'ljennings@classicmodelcars.com', '1', '', 'Sales Rep'),
(1166, 'Thompson', 'Leslie', 'x4065', 'lthompson@classicmodelcars.com', '1', '', 'Sales Rep'),
(1188, 'Firrelli', 'Julie', 'x2173', 'jfirrelli@classicmodelcars.com', '2', 'test-2.pdf', 'Sales Rep'),
(1216, 'Patterson', 'Steve', 'x4334', 'spatterson@classicmodelcars.com', '2', '', 'Sales Rep'),
(1286, 'Tseng', 'Foon Yue', 'x2248', 'ftseng@classicmodelcars.com', '3', '', 'Sales Rep'),
(1323, 'Vanauf', 'George', 'x4102', 'gvanauf@classicmodelcars.com', '3', '', 'Sales Rep'),
(1337, 'Bondur', 'Loui', 'x6493', 'lbondur@classicmodelcars.com', '4', '', 'Sales Rep'),
(1370, 'Hernandez', 'Gerard', 'x2028', 'ghernande@classicmodelcars.com', '4', '', 'Sales Rep'),
(1401, 'Castillo', 'Pamela', 'x2759', 'pcastillo@classicmodelcars.com', '4', '', 'Sales Rep'),
(1501, 'Bott', 'Larry', 'x2311', 'lbott@classicmodelcars.com', '7', '', 'Sales Rep'),
(1504, 'Jones', 'Barry', 'x102', 'bjones@classicmodelcars.com', '7', '', 'Sales Rep'),
(1611, 'Fixter', 'Andy', 'x101', 'afixter@classicmodelcars.com', '6', '', 'Sales Rep'),
(1612, 'Marsh', 'Peter', 'x102', 'pmarsh@classicmodelcars.com', '6', '', 'Sales Rep'),
(1619, 'King', 'Tom', 'x103', 'tking@classicmodelcars.com', '6', '', 'Sales Rep'),
(1621, 'Nishi', 'Mami', 'x101', 'mnishi@classicmodelcars.com', '5', '', 'Sales Rep'),
(1625, 'Kato', 'Yoshimi', 'x102', 'ykato@classicmodelcars.com', '5', '', 'Sales Rep'),
(1702, 'Gerard', 'Martin', 'x2312', 'mgerard@classicmodelcars.com', '4', '', 'Sales Rep');

Now that you inserted the table without any errors. Let’s go to the next step.

Step 5: Just Download Grocery CRUD v.1.1.8  It is Fully compatible with codeigniter 2.0.x – 2.1.x and codeigniter 1.7.x

Extract that into your home folder. now you get the files of Grocery CRUD. Copy each file to appropriate folders. that is application/views/example.php to yourproject/application/views/example.php and other files to corresponding folders in your project.

For more you can see at grocery CRUD installation.

 

<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Main extends CI_Controller {

    function __construct()
    {
        parent::__construct();

        /* Standard Libraries of codeigniter are required */
        $this->load->database();
        $this->load->helper('url');
        /* ------------------ */ 

        $this->load->library('grocery_CRUD');

    }

    public function index()
    {
        echo "<h1>Welcome to the world of Codeigniter</h1>";//Just an example to ensure that we get into the function
        die();
    }

    public function employees()
    {
        $this->grocery_crud->set_table('employees');
        $output = $this->grocery_crud->render();

        echo "<pre>";
        print_r($output);
        echo "</pre>";
        die();
    }
}

/* End of file main.php */
/* Location: ./application/controllers/main.php */

If everything goes well and you don’t have any errors or exceptions you will go to: http://localhost/your_project/index.php/main/employees and see the below result, then everything works correctly :

stdClass Object
(
    [output] => Your output will appear here....
    [js_files] => Array
        (
            [763b4d272e158bdb8ed5a12a1824c94f494954bd] => http://grocery_crud/public/grocery_crud/themes/datatables/js/jquery-1.6.2.min.js
            [0b677f3fc6fb25b4baf39eb144222116c5b60254] => http://grocery_crud/public/grocery_crud/themes/flexigrid/js/cookies.js
            [ec3ae62b8d5838972e858fe54447bd4bd8d79f88] => http://grocery_crud/public/grocery_crud/themes/flexigrid/js/flexigrid.js
            [2c0ff56d0cbc6f80a5ef9c770d478f0e00c3170d] => http://grocery_crud/public/grocery_crud/themes/flexigrid/js/jquery.form.js
            [474495ff1e895eab81fb8afba4db9b06c15b19af] => http://grocery_crud/public/grocery_crud/themes/flexigrid/js/jquery.numeric.js
        )

    [css_files] => Array
        (
            [732b03aa54d124f062757b71e5560acdc5632ba6] => http://grocery_crud/public/grocery_crud/themes/flexigrid/css/flexigrid.css
        )

)

Step 6. Let’s create our view. The results that we have seen we can use them to have grocery CRUD to our project. We just need a view to do it. So a view will look like this:

 
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8" />

<?php
foreach($css_files as $file): ?>
    <link type="text/css" rel="stylesheet" href="<?php echo $file; ?>" />

<?php endforeach; ?>
<?php foreach($js_files as $file): ?>

    <script src="<?php echo $file; ?>"></script>
<?php endforeach; ?>

<style type='text/css'>
body
{
    font-family: Arial;
    font-size: 14px;
}
a {
    color: blue;
    text-decoration: none;
    font-size: 14px;
}
a:hover
{
    text-decoration: underline;
}
</style>
</head>
<body>
<!-- Beginning header -->
    <div>
        <a href='<?php echo site_url('examples/offices_management')?>'>Offices</a> |
        <a href='<?php echo site_url('examples/employees_management')?>'>Employees</a> |
        <a href='<?php echo site_url('examples/customers_management')?>'>Customers</a> |
        <a href='<?php echo site_url('examples/orders_management')?>'>Orders</a> |
        <a href='<?php echo site_url('examples/products_management')?>'>Products</a> |
        <a href='<?php echo site_url('examples/film_management')?>'>Films</a>

    </div>
<!-- End of header-->
    <div style='height:20px;'></div>
    <div>
        <?php echo $output; ?>

    </div>
<!-- Beginning footer -->
<div>Footer</div>
<!-- End of Footer -->
</body>
</html>

So let’s save this file into: your_project/application/views/our_template.php and go to our controller and add some more stuff.

 
<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Main extends CI_Controller {

    function __construct()
    {
        parent::__construct();

        /* Standard Libraries of codeigniter are required */
        $this->load->database();
        $this->load->helper('url');
        /* ------------------ */ 

        $this->load->library('grocery_CRUD');

    }

    public function index()
    {
        echo "<h1>Welcome to the world of Codeigniter</h1>";//Just an example to ensure that we get into the function
                die();
    }

    public function employees()
    {
        $this->grocery_crud->set_table('employees');
        $output = $this->grocery_crud->render();

        $this->_example_output($output);
    }

    function _example_output($output = null)

    {
        $this->load->view('our_template.php',$output);
    }
}

/* End of file main.php */
/* Location: ./application/controllers/main.php */

Now go to http://localhost/your_project/index.php/main/employees and you will see a result like this:

Employees example

That’s it! Now go to the kitchen have a drink of coffee or tea or a beer (It depends what time it is) and enjoy the power of grocery CRUD in your project.

Continue with the examples or go straight to the methods/functions of grocery CRUD library

 

Note: This tutorial is only to show how to install grocery CRUD to your project. If you have any questions about codeigniter issues , for example how to use view, please go to the user guide of codeigniter or post your question at the codeigniter forum

grocery CRUD, doesn’t work?. You can see the known issues or you can find the answer at grocery CRUD forum. Still you can’t install it? Send us a message at support form and we will answer you as soon as possible.

 

Sponsored


Tags: , , , , , , ,


comments powered by Disqus