Framework Integration Archives | phpGrid - PHP Datagrid Create PHP grids in minutes, not hours. Fri, 06 Dec 2024 04:14:10 +0000 en-US hourly 1 CodeProjecthttps://wordpress.org/?v=7.0.3 129966043 Install phpGrid using cPanel https://phpgrid.com/example/install-phpgrid-in-cpanel/ Tue, 05 Oct 2021 03:53:16 +0000 https://phpgrid.com/?p=9820 While this tutorial walkthrough shows you how to install phpGrid using web interface of cPanel, it is recommended to use SFTP whenever possible. Designed to simplify the process of hosting a web site, cPanel is a popular web-based web hosting interface software for the website owner. To install phpGrid, using cPanel, logging into cPanle, then […]

The post Install phpGrid using cPanel appeared first on phpGrid - PHP Datagrid.

]]>
While this tutorial walkthrough shows you how to install phpGrid using web interface of cPanel, it is recommended to use SFTP whenever possible.

Designed to simplify the process of hosting a web site, cPanel is a popular web-based web hosting interface software for the website owner. To install phpGrid, using cPanel, logging into cPanle, then go to File Manager, and upload phpGrid zip file into public_html directory, finally extract the zip file.

Installation Walkthrough:

1. Go to File Manager in cPanel

cpanel_filemanager

2. Click ‘public_html’ or whatever the web root folder

cpanel_filemanager_pub

3. Click Upload and upload compressed phpGrid (.zip)

cpanel_filemanager_pub file upload

 

4. Extract the compressed phpGrid.

cpanel_filemanager_pub extract

5. Lastly, edit conf.php for required database connection.

cpanel_filemanager_pub upload edit conf

 

A final note, do not extract compressed phpGrid file first before upload because the upload would like to fail due to considerable number of files.

Happy gridding!

The post Install phpGrid using cPanel appeared first on phpGrid - PHP Datagrid.

]]>
9820
Bootstrap Grid Layout https://phpgrid.com/example/bootstrap-grid-layout/ Tue, 02 Apr 2019 22:09:23 +0000 http://phpgrid.com/?p=9519

The datagrid can also be displayed and positioned easily in a Bootstrap Grid System layout, uses a series of containers, rows, and columns to the layout that is fully responsive. 12345678910111213141516<div class="container"> <div class="row"> <div class="col-md-4">.col-md-4</div> <div class="col-md-4">.col-md-4 <?php use phpCtrl\C_DataGrid; require_once("/file/path/to/conf.php");   $dg = new C_DataGrid("SELECT * FROM orders", "orderNumber", "orders"); $dg -> set_theme('bootstrap'); […]

The post Bootstrap Grid Layout appeared first on phpGrid - PHP Datagrid.

]]>

The datagrid can also be displayed and positioned easily in a Bootstrap Grid System layout, uses a series of containers, rows, and columns to the layout that is fully responsive.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<div class="container">
<div class="row">
<div class="col-md-4">.col-md-4</div>
<div class="col-md-4">.col-md-4
<?php
use phpCtrl\C_DataGrid;
require_once("/file/path/to/conf.php");  

$dg = new C_DataGrid("SELECT * FROM orders", "orderNumber", "orders");
$dg -> set_theme('bootstrap');
$dg -> display();
?>
</div>
<div class="col-md-4">.col-md-4</div>
</div>
</div>

See Live Example!

The post Bootstrap Grid Layout appeared first on phpGrid - PHP Datagrid.

]]>
9519
phpGrid Symfony Integration https://phpgrid.com/example/phpgrid-symfony-integration/ Mon, 12 Dec 2016 07:48:19 +0000 http://phpgrid.com/?p=9106

Files needed for this demo phpGrid Lite (free) Symfony 3 (free)   Where to keep phpGrid files in Symfony (Hint: not in “vendor” folder) The short answer is “web” folder. Symfony web assets are used to keep things like CSS, JavaScript and image files that renders the front-end of your site. phpGrid encapsulates both database […]

The post phpGrid Symfony Integration appeared first on phpGrid - PHP Datagrid.

]]>

Files needed for this demo

 

Where to keep phpGrid files in Symfony (Hint: not in “vendor” folder)

The short answer is “web” folder. Symfony web assets are used to keep things like CSS, JavaScript and image files that renders the front-end of your site. phpGrid encapsulates both database access routines and display so you don’t have to worry about them. It does this magic “behind the scenes”.

Edit conf.php in phpGrid

Remember to change the database credentials in conf.php. You do not need to set SERVER_ROOT value because phpGrid is inside public accessible “web” folder.

Enable PHP templating engine

Before we start phpGrid Symfony integration, make sure the “php” templating engine is enabled in your application configuration file under app/config .Symfony defaults to Twig for its template engine, but you can still use plain PHP code if you want. Symfony adds some nice features on top of PHP to make writing templates with PHP more powerful.

1
2
3
4
5
# app/config/config.yml
framework:
    # ...
   templating:
        engines: ['twig', 'php']

Create Symfony Controller

Symfony Controller needs to call our grid view file because we do not want to use Controller to render our datagrid. In this demo, we will modify the default controller located in folder “src/AppBundle/Controller/”. For simplicity, we keep the route path the same as the view folder structure.

1
2
3
4
5
6
7
8
/**
 * @Route("/phpgrid/simple")
 */

public function gridAction(){
   
   return $this->render('phpgrid/simple.html.php');

}

Create Symfony View file

First of all, create a new folder named “phpgrid” in “app/Resources/views”. Secondly, create a view file named “simple.html.php”, or whatever view file name used in your Controller in the previous step.

Include the phpGrid config file.

1
2
$webDir = $this->container->getParameter('kernel.root_dir');
require_once($webDir ."/../web/phpGrid_Lite/conf.php");

Load a simple datagrid from phpGrid sample database table “orders” (The sample database is located under examples/SampleDB)

1
2
$dg = new C_DataGrid("SELECT * FROM orders", "orderNumber", "orders");
$dg->display();

Congrats! You’ve just created your first datagrid in Symfony! Now visit “your_domain.com/phpgrid/simple” to see the datagrid.

 
 
Download complete demo files

The post phpGrid Symfony Integration appeared first on phpGrid - PHP Datagrid.

]]>
9106
Joomla! CMS Native Support https://phpgrid.com/example/joomla-cms-native-support/ Wed, 02 Nov 2016 00:33:58 +0000 http://phpgrid.com/?p=9049

* Please note this feature is only available in paid versions (version 7.0+).   phpGrid version 7 supports Joomla! 3.x out-of-box. In conf.php, set constant FRAMEWORK to JOOMLA. 1define('FRAMEWORK', 'JOOMLA'); You must also update JPATH_BASE value in C_SessionMaker class in cls_session.php. 12if (!defined('JPATH_BASE') )     define('JPATH_BASE', '/var/www/mysite'); #UPDATE this value to the actual Joomla […]

The post Joomla! CMS Native Support appeared first on phpGrid - PHP Datagrid.

]]>

* Please note this feature is only available in paid versions (version 7.0+).

 

phpGrid version 7 supports Joomla! 3.x out-of-box. In conf.php, set constant FRAMEWORK to JOOMLA.

1
define('FRAMEWORK', 'JOOMLA');

You must also update JPATH_BASE value in C_SessionMaker class in cls_session.php.

1
2
if (!defined('JPATH_BASE') )
    define('JPATH_BASE', '/var/www/mysite'); #UPDATE this value to the actual Joomla site file path

See complete details on KB – phpGrid on Joomla.

That’s all there is to it. Life is good. :)

The post Joomla! CMS Native Support appeared first on phpGrid - PHP Datagrid.

]]>
9049
phpGrid Now Has Improved IBM DB2 Support! https://phpgrid.com/example/ibm-db2-support/ Tue, 27 Oct 2015 09:26:54 +0000 http://phpgrid.com/?p=8279

THIS TUTORIAL IS OUTDATED. “ibm_db2” is now the recommended extension to access the DB2 database. You should only use “PDO_ODBC” driver to access DB2 as a fallback when “ibm_db2” extension fails to work. To access DB2 through “ibm_db2” extension, please refer to phpGrid DB2 with “ibm_db2” extension tutorial. DB2 supports database access for client applications […]

The post phpGrid Now Has Improved IBM DB2 Support! appeared first on phpGrid - PHP Datagrid.

]]>
THIS TUTORIAL IS OUTDATED.

“ibm_db2” is now the recommended extension to access the DB2 database. You should only use “PDO_ODBC” driver to access DB2 as a fallback when “ibm_db2” extension fails to work. To access DB2 through “ibm_db2” extension, please refer to phpGrid DB2 with “ibm_db2” extension tutorial.

DB2 supports database access for client applications written in the PHP programming language using either or both of the “”ibm_db2” extension and the “pdo_ibm” driver for the PHP Data Objects (PDO) extension. This tutorial uses the unixODBC as the PDO_ODBC driver to connect to DB2. To access DB2 through “ibm_db2” extension, please refer to phpGrid “ibm_db2” tutorial.

After months of hard work, phpGrid now finally has the PDO_ODBC DB2 database support! phpGrid’s DB2 support has been spotty in the past, owing to the fact that the ADOBdb data access library uses non-supported legacy IBM DB2 driver. A new PDO data access class has been implemented specifically for DB2.*

We worked uber-hard to ensure that the existing phpGrid API stayed the same. The only changes we made were essential, and they are transparent to our users. To use the new database, simply type “pdo_odbc_db2” as the “PHPGRID_DB_TYPE“” value in “conf.php”, and everything else stays the same.

 

IBM i Developers, Rejoice.

 

A large number of IBM i developers have been working with DB2, the IBM’s Relational Database Management System (RDBMS). phpGrid can be used as a data management tool in an IBM i environment because the PHP runtime module is already preloaded with IBM i. This allows for a super-charged datagrid with built-in CRUD capability to be up and running very quickly with minimal knowledge of the ins and outs of PHP.

The DB2 was fully tested in IBM DB2 Express-C. It requires the “PDO_ODBC(unixODBC) extension“. As of PHP 5.1, PDO_ODBC is included in the PHP source. You should verify it in phpinfo.

Both the web server and DB2 must be on the same server. If you have trouble installing unixODBC, I suggest you install the Zend Server (free) and install PDO_ODBC (unixODBC) extension extension quickly and easily through Zend Server’s wonderful admin dashboard. Finally, set up the DSN in the odbc.ini and odbcinst.ini configuration files.

odbc.ini

1
2
3
[sample]
Description = Test to DB2
Driver      = DB2

odbcinst.ini

1
2
3
4
5
6
[db2]
Description = DB2 Driver
Driver      = /opt/ibm/db2/V10.5/lib32/libdb2.so
Driver64    = /opt/ibm/db2/V10.5/lib64/libdb2.so
FileUsage   = 1
DontDLClose = 1

*Note that DB2 support is only available with the Enterprise license. Here’s a sample of conf.php in phpGrid. Notice the “putenv” environment variable settings.

conf.php

1
2
3
4
5
6
7
8
9
10
define('PHPGRID_DB_HOSTNAME', 'localhost'); // database host name
define('PHPGRID_DB_PORT', '50000'); // database host name
define('PHPGRID_DB_USERNAME', 'db2inst1');     // database user name
define('PHPGRID_DB_PASSWORD', 'xxxxxxxx'); // database password
define('PHPGRID_DB_NAME', 'SAMPLE'); // database name or DSN name (cataloged)
define('PHPGRID_DB_TYPE', 'pdo_odbc_db2');  // database type
define('PHPGRID_DB_CHARSET','utf8'); // ex: utf8(for mysql),AL32UTF8 (for oracle), leave blank to use the default charset

putenv('ODBCSYSINI=/etc');
putenv('ODBCINI=/etc/odbc.ini');

Finally, the sample code using the DB2 db2sampl database:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
use phpCtrl\C_DataGrid;
require_once("/file/path/to/conf.php");  

$dg = new C_DataGrid("SELECT * FROM EMPLOYEE", "EMPNO", "EMPLOYEE");
$dg->set_col_title('EMPNO', 'Employee #');
$dg->set_col_title('PHONENO', 'Phone Number');
$dg->set_col_width('SEX', 50)->set_col_align('SEX', 'center');
$dg->set_col_width('MIDINIT', 30)->set_col_align('MIDINIT', 'center');
$dg->enable_search(true);
$dg->enable_edit('FORM');
$dg->enable_export('CSV');
$dg->enable_autowidth(true);
$dg->set_col_edittype('WORKDEPT', 'select', 'select DEPTNO, DEPTNAME from DEPARTMENT');
$dg->set_col_edittype('SEX', 'select', 'M:M;F:F');
$dg->set_conditional_format("SEX","CELL",array(
    "condition"=>"eq","value"=>"F","css"=> array("color"=>"black","background-color"=>"#FDA6B2")));
$dg->set_conditional_format("SEX","CELL",array(
    "condition"=>"eq","value"=>"M","css"=> array("color"=>"black","background-color"=>"#A6D7FC")));
$dg->set_conditional_format("SALARY","CELL",array(
    "condition"=>"gt","value"=>75000,"css"=> array("color"=>"black","background-color"=>"lightgreen")));
$dg -> display();

Sample datagrid output:
 

phpgrid-db2sampl-employee

 

To use PHP “ibm_db2” extension, please see the phpGrid “ibm_db2” tutorial.

The post phpGrid Now Has Improved IBM DB2 Support! appeared first on phpGrid - PHP Datagrid.

]]>
8279
phpGrid and Zend Framework Integration https://phpgrid.com/example/phpgrid-and-zend-framework-integration/ Sun, 13 Sep 2015 09:52:59 +0000 http://phpgrid.com/?p=8157

Introduction IntroductionZend Framework (ZF) is a popular open source, MVC web application framework created and maintained by Zend Technologies, the company behind the PHP programming language. This tutorial will walk you through the integration of Zend Framework 2 and phpGrid. It uses Zend Framework version 2.4 which requires PHP version 5.5 and above. Install the […]

The post phpGrid and Zend Framework Integration appeared first on phpGrid - PHP Datagrid.

]]>

Introduction

IntroductionZend Framework (ZF) is a popular open source, MVC web application framework created and maintained by Zend Technologies, the company behind the PHP programming language.

This tutorial will walk you through the integration of Zend Framework 2 and phpGrid. It uses Zend Framework version 2.4 which requires PHP version 5.5 and above.

Install the Zend Framework Skeleton Application

The best way to create a Zend Framework project is with Composer. Start by using Composer to install Github’s ZendSkeletonApplication. It’s a great starting point to begin a blank Zend project.

Create your new ZF2 project:

1
composer create-project -n -sdev zendframework/skeleton-application path/to/install

“path/to/install” should be a folder in web root.

Install phpGrid

Before installing phpGrid, in the ZF2 that we created in the previous step, find the “vendor” folder. Create a new directory named “phpcontrols” inside. Then download phpGrid and extract the zip file into the “phpcontrols” folder we just created.

You should have folder structure similar to the following screenshot:

zendframework-folder

 

Configuring the conf.php file in phpGrid

Complete the phpGrid installation by configuring its database information in the “conf.php” file inside the phpGrid folder. For complete instructions on how to do this, see the phpGrid configuration online documentation.

phpGrid comes with several sample databases. You can find them under the “examples/SampleDB” folder. We will use the MySQL sample database for this Zend Framework integration tutorial.

Modify “composer.json”

Before start coding, we need to register our phpGrid library in the Zend Framework autoloader. This is done by adding autoload files keys in “composer.json”. The autoloader ensures that any PHP external libraries and components can be easily referenced anywhere in PHP code without using the traditional “require” or “php include” function.

Below is a copy of our “composer.json”. It could vary slightly from what you have, and notice the autoload value.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
    "name": "zendframework/skeleton-application",
    "description": "Skeleton Application for ZF2",
    "license": "BSD-3-Clause",
    "keywords": [
        "framework",
        "zf2"
    ],
    "homepage": "http://framework.zend.com/",
    "require": {
        "php": ">=5.5",
        "zendframework/zendframework": "~2.5"
    },
    "autoload":{
        "files": ["vendor/phpcontrols/phpGrid/conf.php"]
    }
}

Finally, once these changes have been made, we update the composer. In the project root, run the following command:

1
composer update

Start coding!

Open the file “module/Application/view/application/index/index.phtml“. Assuming that you have installed the phpGrid sample database installed,. Somewhere in “index.phtml”, add the following code:

1
2
3
4
5
6
use phpCtrl\C_DataGrid;
require_once("/file/path/to/conf.php");  

$dg = new C_DataGrid("SELECT * FROM orders", "orderNumber", "orders");
$dg -> enable_edit("INLINE", "CRUD");
$dg -> display();

Note that if you are working under a namespace while creating the object, you must use the “\” (root namespace), otherwise you will use the phpGrid class under the current namespace.

That’s all there is to it. You should now be able to run the demo.

Run Demo

What about the controller and model?

You may be wondering, “Where is the ZF controller and model for phpGrid?” The answer is they are simply not required. phpGrid encapsulates both database access routines and display so you don’t have to worry about them. It does this magic “behind the scenes”.

The post phpGrid and Zend Framework Integration appeared first on phpGrid - PHP Datagrid.

]]>
8157
Integrate with .CSV or Google Spreadsheets https://phpgrid.com/example/google-spreadsheet-datagrid-integration/ Mon, 03 Aug 2015 14:11:52 +0000 http://phpgrid.com/?p=7907 You can use a local .csv or Google Spreadsheet as a data source to populate your datagrid. In this tutorial, you will learn how to create a shared Google Spreadsheet and share it in comma-separated values (CSV) format. Note that the array data source feature is only available with a commercial license. Loading from Google Spreadsheet is […]

The post Integrate with .CSV or Google Spreadsheets appeared first on phpGrid - PHP Datagrid.

]]>
You can use a local .csv or Google Spreadsheet as a data source to populate your datagrid. In this tutorial, you will learn how to create a shared Google Spreadsheet and share it in comma-separated values (CSV) format. Note that the array data source feature is only available with a commercial license.

Loading from Google Spreadsheet is straight forward and much the same as loading from a local array data source. In order to download the Google Spreadsheet in CSV format, you need to follow this guide to generate a download link for the CSV file of Google Drive Spreadsheet.

 

Open a Google Drive Spreadsheet

 

Open an existing Google Spreadsheet such as the one shown here:

google-spreadsheet-original

 

Share the Google Spreadsheet

  1. Click Change… to change access settings,
  2. Click “Public on the Web” or “Anyone with the link”,
  3. Click Save
     

    google-spreadsheet-sharing

     

Publish on the Web

  1. Click File >Publish on the Web
     


    google-spreadsheet-publish-menu

  2. Click “Advanced”, and make sure “Automatically republish when changes are made” is checked.google-spreadsheet-publish
     
  3. Choose “Comma-separated values (.csv) as output type in Link type drop-down
     

    google-spreadsheet-share-csv-output

     
  4. Finally, copy the document link created in the previous step. You should have a link similar to the following with “output=csv” in the URL parameter:
    https://docs.google.com/spreadsheets/d/1IvbMsUZTCdY7duciT3lWSXHPP_qPDG8FrJl8dq1ZbI/pub?output=csv

     

    google-spreadsheet-share-link

     

Start Coding

First of all, we need to massage our data into a format that phpGrid can recognize. You can read more about this in the  local array data data example. In our Google Spreadsheet sample file, the first row contains the header information. We will extract that row and use the contents of each cell in the row as the name for each column in the datagrid. Once the data has been formatted, it becomes accessible as though it were a local file.

1
2
3
4
5
6
7
8
9
10
11
12
$spreadsheet_url = 'https://docs.google.com/spreadsheets/d/1IvbMsUZTCdYb5z34jT3lWSXHPP_qPDG8FrJl8dq1ZbI/pub?output=csv';
$csv = file_get_contents($spreadsheet_url);
$rows = explode("\n",$csv);
$data = array();
$names = array();
for($i=0; $i<count($rows); $i++) {
if($i==0){
$names = str_getcsv($rows[$i]);
}else{
$data[] = str_getcsv($rows[$i]);
}
}

The final step is to add the phpGrid code. We add the title to each datagrid column. We then enable auto filter in integrated search, and give the datagrid a new look using our premium theme “Aristo”.

Please note that “search auto filter” is a new feature. It generates a filter drop-down in integrated toolbar search based on a column’s unique values.

Since Google Spreadsheet does not put in a separate column header when a file is saved as a .csv, we compensate for this by using a column index array, e.g. array(1,2,3,5), as our search auto filter.

1
2
3
4
5
6
7
8
9
10
// Always include namespace and conf.php on TOP of the script.
use phpCtrl\C_DataGrid;
require_once("/file/path/to/conf.php");  

$dg = new C_DataGrid($data, "id", "Google_Spreadsheet");
for($i=0; $i<count($names); $i++) { $dg->set_col_title($i, $names[$i]);
}
$dg->enable_search(true, array(1,2,3,5));
$dg->set_theme('aristo');
$dg->display();

That’s how you populate datagrid from a Google Spreadsheet. Enjoy!

Demo

The post Integrate with .CSV or Google Spreadsheets appeared first on phpGrid - PHP Datagrid.

]]>
7907
phpGrid and CodeIgniter Integration https://phpgrid.com/example/phpgrid-and-codeigniter-integration/ Thu, 09 Jul 2015 12:42:29 +0000 http://phpgrid.com/?p=7764

Introduction CodeIgniter is a popular, open source PHP framework loosely based on the MVC development pattern. It is used to build dynamic web sites. Out of box, phpGrid is a ready-to-use PHP datagrid solution. Integrating phpGrid with CodeIgniter couldn’t be easier. Here’s how. Install CodeIgniter Download CodeIgniter here. To install CodeIgniter, follow these four steps: Unzip […]

The post phpGrid and CodeIgniter Integration appeared first on phpGrid - PHP Datagrid.

]]>

Introduction

CodeIgniter is a popular, open source PHP framework loosely based on the MVC development pattern. It is used to build dynamic web sites. Out of box, phpGrid is a ready-to-use PHP datagrid solution. Integrating phpGrid with CodeIgniter couldn’t be easier. Here’s how.

Install CodeIgniter

Download CodeIgniter here. To install CodeIgniter, follow these four steps:

  1. Unzip the package.
  2. Upload the CodeIgniter folders and files to your server. Normally the index.php file will be at the root.
  3. Open the “application/config/config.php” file with a text editor and set your base URL. If you intend to use encryption or sessions, set your encryption key.
  4. If you intend to use a database, open the “application/config/database.php” file with a text editor and set your database settings.

Install phpGrid

Download phpGrid here. To install phpGrid, follow these steps:

  1. Unzip the phpGrid download file.
  2. Upload the unzipped phpGrid folder to the “application/libraries” folder.
  3. Complete the installation by configuring the conf.php file. For instructions on how to do this, see setup phpGrid configuration.

CodeIgniter Controller

For the purpose of this tutorial, we will directly modify the default controller file “Welcome.php”. In practice, the changes can be made in any new or existing controller file. Notice that we did not initialize the class using the standard:

1
$this->load->library('someclass');

Where “someclass is” the file name, without the “.php” file extension. Instead we simply include the phpGrid configuration file. The “APPPATH” constant is the path to your application folder. Unlike with the Laravel framework, with CodeIgniter you can directly include PHP classes and working with them. phpGrid is a complex component and composed of multiple classes.

1
2
3
4
5
6
7
8
9
public function index()
{
    // $this->load->view('welcome_message');

    require_once(APPPATH. 'libraries/phpGrid_Lite/conf.php'); // APPPATH is path to application folder
    $data['phpgrid'] = new C_DataGrid("SELECT * FROM Orders", "orderNumber", "Orders"); //$this->ci_phpgrid->example_method(3);

    $this->load->view('show_grid',$data);
}

Note the last line is our new view we are about to create. The view is called “show_grid”.

phpGrid-Codeigniter-code

Create View

Creating a view is very simple.  All you have to do is to put  <?php $phpgrid->display(); ?> somewhere in the view. Learn more about creating a basic PHP grid here.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
?><!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Show Grid</title>
</head>
<body>

<div id="container">
    <h1>Welcome to CodeIgniter! Show me the grid!</h1>

    <div id="body">
        <?php $phpgrid->display(); ?>
    </div>

</div>

</body>
</html>

That’s it! phpGrid handles all the CRUD operations. We don’t need to create a Model for our PHP datagrid to run in CodeIgniter.

Screenshot

phpGrid-Codeigniter-outcome

CodeIgniter and PHP Session

We recommended that you stick to a native PHP session in CI. By default, CI stores session information in a cookie, which is neither secure nor efficient.

You can also use the “out of proc” session by storing the session info in a database. This method is more sophisticated but inevitably more complex. It is not recommended unless you need to develop a large eCommerce website needs a session persistent shopping cart. phpGrid also uses a native PHP session to store secure data such as database connections and SQL data.

If you are using a native PHP session, make sure set “save_path” value to php.ini in an existing folder with write permissions.

http://php.net/manual/en/session.configuration.php#ini.session.save-path

Update: CodeIgniter 3+ Permission Update

Since CodeIginter 3, application and system folder has a new .htaccess for security the URL rewrite. It’s recommended to replace .htaccess with the following in application folder.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<IfModule mod_rewrite.c>
    RewriteEngine On
    #RewriteBase /your_project/

    RewriteCond %{REQUEST_URI} ^system.*
    RewriteRule ^(.*)$ /index.php?/$1 [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>

<IfModule !mod_rewrite.c>
    # If we don't have mod_rewrite installed, all 404's
    # can be sent to index.php, and everything works as normal.
    ErrorDocument 404 /index.php
</IfModule>

The post phpGrid and CodeIgniter Integration appeared first on phpGrid - PHP Datagrid.

]]>
7764
phpGrid, Laravel and Bootstrap (version 2) https://phpgrid.com/example/phpgrid-laravel-5-twitter-bootstrap-3-integration/ Fri, 19 Jun 2015 09:41:39 +0000 http://phpgrid.com/?p=7633

Note this tutorial has an updated version. Check out the latest, much improved Dashboard + Laravel 10 + Bootstrap 5 integration demo please! Introduction This tutorial will begin by walking you through the integration of the Laravel 5 and Bootstrap 3 themes. Afterwards, we will show you how to add a PHP datagrid. If the […]

The post phpGrid, Laravel and Bootstrap (version 2) appeared first on phpGrid - PHP Datagrid.

]]>
Note this tutorial has an updated version. Check out the latest, much improved Dashboard + Laravel 10 + Bootstrap 5 integration demo please!

Introduction

This tutorial will begin by walking you through the integration of the Laravel 5 and Bootstrap 3 themes. Afterwards, we will show you how to add a PHP datagrid. If the Laravel and the Bootstrap theme are already up and running on your server, you can skip directly to “Create ‘dashboard.blade.php’ Child Template View” or “Where is phpGrid?”.

Install Laravel 5 (with Composer)

Let’s get started. Laravel 5 has the following system requirements.

  • PHP >= 5.4
  • Mcrypt PHP Extension
  • OpenSSL PHP Extension
  • Mbstring PHP Extension
  • Tokenizer PHP Extension

Please note that these Laravel 5 system requirements apply to both the web and the command line interface. There’s always a possibility that the version of PHP used in the command line may be different from the PHP running on the web server. If this is the case, modify your PHP alias to point to the same PHP executable for both. Finally, download a copy of phpGrid from download page for later use.

It is highly recommended that you use Composer to install Laravel. In order to keep the code lightweight, Laravel does not come prepackaged with any third-party libraries. Instead, it relies on Composer to manage any dependencies. Learn more about how to install Composer here.

To install Laravel, in the command line, go to the web root (e.g. /www), and execute the following command:

1
#composer create-project laravel/laravel --prefer-dist

To run Laravel, certain permissions need to be configured. Allow the web server to have write access to subfolders under the “storage” and “vendor” folders.

laravel5-folder-permission

Laravel, AdminLTE Integration

In a previous phpGrid Bootstrap integration tutorial, we used the “Bootstrap SmartAdmin” theme. Here,  we will use another theme called “AdminLTE“. You can preview it at https://almsaeedstudio.com/AdminLTE. If you are looking for alternative theme, we recommend the premium high qualify bootstrap themes from WrapBoottrap. While they are not free, it well worths the investment for developing beautiful and professional looking web apps.

Technically, AdminLTE works without the Laravel framework. But, by integrating it with Laravel, you get the added benefit of MVC routing and views. This ultimately results in cleaner, and more importantly, scalable code. The downside is that one must edit each AdminLTE page to covert it to Laravel views, preferably by using the Blade template.

 

Convert AdminLTE “starter.html” to Laravel View

 

At this point, we need to convert AdminLTE’s default “starter.html” to Laravel views so we can host our PHP datagrid. This consists of splitting the file into several “include” files – which will then be called by the startup routine.

  1. First, download AdminTLE from almsaeedstudio.com and extract the files. Copy the folders “bootstrap”, “dist”, “plugins”, and file “starter.html” to the Laravel “public” folder. Open “starter.html” and copy its contents to the clipboard. This will be used as our starting point to create the new Laravel view.

    laravel5-adminlte-integration

  2. Create a new view called “admin.blade.php”. (Note that all Blade templates should use the “.blade.php” extension.) Paste the text we copied from “starter.html” in the previous step and save the new view in “resources/views”. This will be the admin default layout from which the various Blade templates will be derived.convert-admin-views
  3. We now need to divide the code in “admin.blade.php” and copy it to a series of reusable sub-views. Create a new folder called “includes” under “resource/views”. This folder will be used to store these admin sub-views.phpgrid-laravel5-bootstrap3-includes-subviews
  4. Cut out the “<header>”” section and paste it as a new view which we will call “header.blade.php”. Change any hyperlinks or file references to use the Laravel “asset” help function. Save the new file in the “includes” folder.
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    <!-- Main Header -->
    <header class="main-header"><!-- Logo -->
    <a class="logo" href="index2.html">
    <!-- mini logo for sidebar mini 50x50 pixels -->
    <span class="logo-mini"><b>A</b>LT</span>
    <!-- logo for regular state and mobile devices -->
    <span class="logo-lg"><b>Admin</b>LTE</span>
    </a><!-- Header Navbar --><nav class="navbar navbar-static-top"><!-- Sidebar toggle button-->
    <a class="sidebar-toggle" href="#" data-toggle="offcanvas">
    <span class="sr-only">Toggle navigation</span>
    </a>
    <!-- Navbar Right Menu -->
    <div class="navbar-custom-menu">
    <ul class="nav navbar-nav">
    <ul class="nav navbar-nav"><!-- Messages: style can be found in dropdown.less-->
        <li class="dropdown messages-menu"><!-- Menu toggle button -->
    <a class="dropdown-toggle" href="#" data-toggle="dropdown">
    <i class="fa fa-envelope-o"></i>
    <span class="label label-success">4</span>
    </a>
    <ul class="dropdown-menu">
        <li class="header">You have 4 messages</li>
        <li><!-- inner menu: contains the messages -->
    <ul class="menu">
    <ul class="menu">
        <li><!-- start message -->
    <div class="pull-left"><!-- User Image -->
    <img class="img-circle" src="{{ asset('dist/img/user2-160x160.jpg') }}" alt="User Image" /></div>
    <!-- Message title and timestamp -->
    <h4>Support Team
    <small><i class="fa fa-clock-o"></i> 5 mins</small></h4>
    <!-- The message -->

    Why not buy a new awesome theme?</li>
    </ul>
    </ul>
    <!-- end message -->

    <!-- /.menu --></li>
        <li class="footer"><a href="#">See All Messages</a></li>
    </ul>
    </li>
    </ul>
    </ul>
    <!-- /.messages-menu -->

    <!-- Notifications Menu -->
    <ul class="nav navbar-nav">
    <ul class="nav navbar-nav">
        <li class="dropdown notifications-menu"><!-- Menu toggle button -->
    <a class="dropdown-toggle" href="#" data-toggle="dropdown">
    <i class="fa fa-bell-o"></i>
    <span class="label label-warning">10</span>
    </a>
    <ul class="dropdown-menu">
        <li class="header">You have 10 notifications</li>
        <li><!-- Inner Menu: contains the notifications -->
    <ul class="menu">
    <ul class="menu">
        <li><!-- start notification -->
    <a href="#">
    <i class="fa fa-users text-aqua"></i> 5 new members joined today
    </a></li>
    </ul>
    </ul>
    <!-- end notification --></li>
        <li class="footer"><a href="#">View all</a></li>
    </ul>
    </li>
    </ul>
    </ul>
    <!-- Tasks Menu -->
    <ul class="nav navbar-nav">
    <ul class="nav navbar-nav">
        <li class="dropdown tasks-menu"><!-- Menu Toggle Button -->
    <a class="dropdown-toggle" href="#" data-toggle="dropdown">
    <i class="fa fa-flag-o"></i>
    <span class="label label-danger">9</span>
    </a>
    <ul class="dropdown-menu">
        <li class="header">You have 9 tasks</li>
        <li><!-- Inner menu: contains the tasks -->
    <ul class="menu">
    <ul class="menu">
        <li><!-- Task item -->
    <a href="#">
    <!-- Task title and progress text --></a>
    <h3>Design some buttons
    <small class="pull-right">20%</small></h3>
    <!-- The progress bar -->
    <div class="progress xs"><!-- Change the css width attribute to simulate progress -->
    <div class="progress-bar progress-bar-aqua" style="width: 20%;"><span class="sr-only">20% Complete</span></div>
    </div></li>
    </ul>
    </ul>
    <!-- end task item --></li>
        <li class="footer"><a href="#">View all tasks</a></li>
    </ul>
    </li>
    </ul>
    </ul>
    <!-- User Account Menu -->
    <ul class="nav navbar-nav">
    <ul class="nav navbar-nav">
        <li class="dropdown user user-menu"><!-- Menu Toggle Button -->
    <a class="dropdown-toggle" href="#" data-toggle="dropdown">
    <!-- The user image in the navbar-->
    <img class="user-image" src="{{ asset('dist/img/user2-160x160.jpg') }}" alt="User Image" />
    <!-- hidden-xs hides the username on small devices so only the image appears. -->
    <span class="hidden-xs">Alexander Pierce</span>
    </a>
    <ul class="dropdown-menu">
    <ul class="dropdown-menu"><!-- The user image in the menu -->
        <li class="user-header"><img class="img-circle" src="{{ asset('dist/img/user2-160x160.jpg') }}" alt="User Image" />Alexander Pierce - Web Developer
    <small>Member since Nov. 2012</small></li>
    </ul>
    </ul>
    <!-- Menu Body -->
    <ul class="dropdown-menu">
    <ul class="dropdown-menu">
        <li class="user-body">
    <div class="col-xs-4 text-center"><a href="#">Followers</a></div>
    <div class="col-xs-4 text-center"><a href="#">Sales</a></div>
    <div class="col-xs-4 text-center"><a href="#">Friends</a></div></li>
    </ul>
    </ul>
    <!-- Menu Footer-->
    <ul class="dropdown-menu">
        <li class="user-footer">
    <div class="pull-left"><a class="btn btn-default btn-flat" href="#">Profile</a></div>
    <div class="pull-right"><a class="btn btn-default btn-flat" href="#">Sign out</a></div></li>
    </ul>
    </li>
    </ul>
    </ul>
    <!-- Control Sidebar Toggle Button -->

    </div>
    </nav></header>
  5. Now, go back to “admin.blade.php” and cut out the “<aside>”” sidebar section and paste it as a new view called “sidebar.blade.php”. As in the previous step, change any hyperlinks or file references so they use the Laravel “asset” help function. Save this file in the “includes” folder.
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    <!-- Left side column. contains the logo and sidebar --><aside class="main-sidebar"><!-- sidebar: style can be found in sidebar.less --><section class="sidebar"><!-- Sidebar user panel (optional) -->
    <div class="user-panel">
    <div class="pull-left image"><img class="img-circle" src="{{ asset('dist/img/user2-160x160.jpg') }}" alt="User Image" /></div>
    <div class="pull-left info">

    Alexander Pierce

    <!-- Status -->
    <a href="#"><i class="fa fa-circle text-success"></i> Online</a>

    </div>
    </div>
    <!-- search form (Optional) -->

    <form class="sidebar-form" action="#" method="get">
    <div class="input-group"><input class="form-control" name="q" type="text" placeholder="Search..." />
    <span class="input-group-btn">
    <button id="search-btn" class="btn btn-flat" name="search" type="submit"><i class="fa fa-search"></i></button>
    </span></div>
    </form><!-- /.search form -->

    <!-- Sidebar Menu -->
    <ul class="sidebar-menu">
    <ul class="sidebar-menu">
        <li class="header">HEADER</li>
    </ul>
    </ul>
    <!-- Optionally, you can add icons to the links -->
    <ul class="sidebar-menu">
        <li class="active"><a href="#"><i class="fa fa-link"></i> Link</a></li>
        <li><a href="#"><i class="fa fa-link"></i> Another Link</a></li>
        <li class="treeview"><a href="#"><i class="fa fa-link"></i> Multilevel <i class="fa fa-angle-left pull-right"></i></a>
    <ul class="treeview-menu">
        <li><a href="#">Link in level 2</a></li>
        <li><a href="#">Link in level 2</a></li>
    </ul>
    </li>
    </ul>
    <!-- /.sidebar-menu -->

    </section><!-- /.sidebar -->

    </aside>
  6. Repeat these steps for the “<footer>”” and “<control>”” sidebar sections. Name the files “footer.blade.php” and “controlsidebar.blade.php” and “footer.blade.php”
    1
    2
    3
    4
    5
    6
    7
    8
    <!-- Main Footer -->

    <footer class="main-footer"><!-- To the right -->
    <div class="pull-right hidden-xs">Anything you want</div>
    <!-- Default to the left -->
    <strong>Copyright © 2015 <a href="#">Company</a>.</strong> All rights reserved.

    </footer>

    controlsidebar.blade.php

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    <!-- Control Sidebar -->

    <aside class="control-sidebar control-sidebar-dark"><!-- Create the tabs --><!-- Tab panes -->
    <div class="tab-content"><!-- Home tab content -->
    <div id="control-sidebar-home-tab" class="tab-pane active">
    <h3 class="control-sidebar-heading">Recent Activity</h3>
    <ul class="control-sidebar-menu">
        <li><a>
    <i class="menu-icon fa fa-birthday-cake bg-red"></i></a>
    <div class="menu-info">
    <h4 class="control-sidebar-subheading">Langdon's Birthday</h4>
    Will be 23 on April 24th

    </div></li>
    </ul>
    <!-- /.control-sidebar-menu -->
    <h3 class="control-sidebar-heading">Tasks Progress</h3>
    <ul class="control-sidebar-menu">
        <li>
    <h4 class="control-sidebar-subheading">Custom Template Design
    <span class="label label-danger pull-right">70%</span></h4>
    </li>
    </ul>
    <!-- /.control-sidebar-menu -->

    </div>
    <!-- /.tab-pane -->
    <!-- Stats tab content -->
    <div id="control-sidebar-stats-tab" class="tab-pane">Stats Tab Content</div>
    <!-- /.tab-pane -->
    <!-- Settings tab content -->
    <div id="control-sidebar-settings-tab" class="tab-pane"><form method="post">
    <h3 class="control-sidebar-heading">General Settings</h3>
    <div class="form-group"><label class="control-sidebar-subheading">
    Report panel usage
    <input class="pull-right" checked="checked" type="checkbox" />
    </label>Some information about this general settings option</div>
    <!-- /.form-group -->

    </form></div>
    <!-- /.tab-pane -->

    </div>
    </aside><!-- Add the sidebar'
    s background. This div must be placed
    immediately after the control sidebar -->
    <div class="control-sidebar-bg"></div>
  7. Add the “include” statements for the newly-created sub-views in “admin.blade.php”, as shown below
    1
    2
    3
    4
    @include('includes.header');
    @include('includes.sidebar');
    @include('includes.footer');
    @include('includes.controlsidebar');
  8. Also in “admin.blade.php”, add the following section between sidebar and footer. Copy and past section <div class=”content-wrapper”>(see below) where we host the code in which phpGrid is rendered. Also include “@yield(‘content’)”” in <section class=”content”> section.
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    <div class="wrapper">

    @include('includes.header')
    @include('includes.sidebar')

    <!-- Content Wrapper. Contains page content -->
    <div class="content-wrapper"><!-- Content Header (Page header) -->
    <section class="content-header">
    <h1>Page Header
    <small>Optional description</small></h1>
    <ol class="breadcrumb">
        <li><a href="#"><i class="fa fa-dashboard"></i> Level</a></li>
        <li class="active">Here</li>
    </ol>
    </section><!-- Main content -->

    <section class="content"><!-- Your Page Content Here -->
    @yield('content')</section><!-- /.content -->

    </div>
    <!-- /.content-wrapper -->

    @include('includes.footer')
    @include('includes.controlsidebar')

    </div>
    <!-- ./wrapper -->
  9. Move the required Javascript found at the bottom of “starter.html” to the “<head>”” section (not “<header>”!) in “admin.blade.php”.
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <!– REQUIRED JS SCRIPTS --!>
    <!– jQuery 2.1.4 –->
    <script src="”{{"></script>
     <!– Bootstrap 3.3.2 JS –>
    <script src="”{{" type="”text/javascript”"></script>
    <!– AdminLTE App –>
    <script src="”{{" type="”text/javascript”"></script>
    <!– Optionally, you can add Slimscroll and FastClick plugins.
    Both of these plugins are recommended to enhance the
    user experience. Slimscroll is required when using the
    fixed layout. –>
  10. We are almost done. In “admin.blade.php”, be sure to change any hyperlinks or file references, so they point to the Laravel “asset” help function.

 

Create “dashboard.blade.php” Child Template View

 

We just created our admin layout by dividing the file “starter.html” into various views and sub-views and saving them as PHP files. “admin.blade.php” is our parent layout – the one that is used as a basis for all other admin layouts and the file from which these other layouts will extend. Variable “$grid” holds the PHP datagrid object passed from route next.

1
2
3
4
5
@extends('admin')

@section('content')
{!! $grid !!}
@endsection

 

Where Is phpGrid??

 

Up until now, the walk-through has addressed converting AdminLTE theme to Laravel views. Everything in Laravel 5 is autoloaded using PSR-4 within the “app/” directory. This can be seen in the “composer.json” file.

Although we foresee the capability in future releases, for backward compatibility reasons, phpGrid currently does not support the namespace construct. Without namespace support, we cannot call our C_DataGrid class from directly within the Laravel Controller. – The workaround is to call phpGrid directly from a route file. For this reason, instead of storing phpGrid in the app/ directory, we place the phpGrid components in the public folder.

The correct path to put phpGrid is in the Laravel “public” folder, not “app” folder.
X

So, go ahead and download a copy of phpGrid if you haven’t already done so, and extract the files into the Laravel “public” folder. Complete the installation by configuring the “conf.php” file. For instructions on how to do this, see setup phpGrid configuration.

Once you have completed the previous step, in the Laravel route file “app/Http/routes.php”, copy and paste the following code snippet:

1
2
3
4
5
6
7
8
9
10
11
12
13
Route::get(‘dashboard’, function () {
use phpCtrl\C_DataGrid;
require_once(public_path() ./phpGrid_Lite/conf.php”);

$dg = new C_DataGrid(“SELECT * FROM orders”, “orderNumber”, “orders”);
$dg->enable_edit(“INLINE”, “CRUD”);
$dg->enable_autowidth(true)->enable_autoheight(true);
$dg->set_theme(‘cobalt-flat’);
$dg->display(false);

$grid = $dg -> get_display(true); // do not include required javascript libraries until later with with display_script_includeonce method.
return view(‘dashboard’, [‘grid’ => $grid]);
});

That’s all there is to it!

 

Where is the controller?

 

Where is the Laravel controller?You may ask, “Where is the Laravel controller for our view?” The answer is it is simply not needed for our datagrid. The route we created in a previous step essentially controls the view for us. In a perfect world, the controller would be stored where all logic and pass information for rendering views would be handled. However, phpGrid’s current lack of “namespace” support makes it impossible for us to call the phpGrid library from within the Laravel Controller. In a future phpGrid release which offers “namespace” support, this workaround will no longer be necessary.

 

phpgrid-laravel5-bootstrap3-full-edit

 

 

 

 


Reference:

The post phpGrid, Laravel and Bootstrap (version 2) appeared first on phpGrid - PHP Datagrid.

]]>
7633
phpGrid Laravel Integration (version 1) https://phpgrid.com/example/phpgrid-laravel-integration/ Sun, 24 May 2015 10:06:23 +0000 http://phpgrid.com/?p=7536

This is a step-by-step tutorial of how to integrate the Laravel PHP framework with phpGrid. Laravel is a free, open-source PHP web application framework architected in a model–view–controller (MVC) pattern. phpGrid is a standalone CRUD component which includes all the necessary server and client side scripts. It does not need the Laravel packaging system to manage dependency. […]

The post phpGrid Laravel Integration (version 1) appeared first on phpGrid - PHP Datagrid.

]]>

This is a step-by-step tutorial of how to integrate the Laravel PHP framework with phpGrid.

Laravel is a free, open-source PHP web application framework architected in a model–view–controller (MVC) pattern. phpGrid is a standalone CRUD component which includes all the necessary server and client side scripts. It does not need the Laravel packaging system to manage dependency.

System Requirements:

  • Laravel 7
  • PHP >= 7.2 (required by Laravel)
  • MCrypt PHP Extension or OpenSSL (required by Laravel)
  • phpGrid Lite (free)
  • Relational Database, e.g. MySQL

Laravel requires PHP version 7.2+ and MCrypt PHP Extension. Check your phpinfo file to verify the PHP. In this tutorial, we will be using the free version of phpGrid, phpGrid Lite.

php mcrypt

Setting up Laravel:

The easiest way is to install Laravel is by using Composer.  However, the Laravel installation procedure is outside the scope of this tutorial. Please visit http://laravel.com/docs/ for the Laravel installation process. For this demo, we will install the Laravel folder in the web server’s root directory.

phpGrid Folder Location in Laravel:

It is a common practice to save third-party libraries to Laravel “app/libraries” folder. However, the correct path to put phpGrid is in the Laravel “public” folder.
X

It is a common practice to save third-party libraries to Laravel “app/libraries” folder. However, the correct path to put phpGrid is in the Laravel “public” folder. This is because phpGrid is more than just the back-end of the PHP classes. It also contains front-end user accessible stylesheets and Javascript to render the datagrid. Such a library must reside in Laravel “public” directory because it is the public directory is the root directory that is accessible to users when they visit your website.

phpgrid-laravel-folder

conf.php

Now we need to setup the database connection and script path information in the file “conf.php”. Since phpGrid resides in “public” folder – Laravel’s front-end root directory – the value of phpGrid SERVER_ROOT should be “/phpGrid_Lite”. Don’t forget the slash at the beginning.

Learn more about SERVER_ROOT and other of phpGrid system variables here.

1
define('SERVER_ROOT', '/phpGrid_Lite');

Laravel views:

Finally, we need to create a view file in the Laravel “app/views” folder. Since phpGrid is located in Laravel’s “public” folder, we can reference the path to its conf.php file with Laravel’s public_path() helper function.

1
2
3
4
5
6
use phpCtrl\C_DataGrid;
require_once(public_path() ."/phpGrid_Lite/conf.php");

$dg = new C_DataGrid("SELECT * FROM orders", "orderNumber", "orders");
$dg->enable_edit("INLINE", "CRUD");
$dg->display();

Note that “orders” is a database table from the phpGrid sample database…. And that’s all there is to it! You have now integrated the power of phpGrid with the Laravel platform.

Screenshot

phpgrid-laravel-demo

The post phpGrid Laravel Integration (version 1) appeared first on phpGrid - PHP Datagrid.

]]>
7536