Laravel5 Integration Walkthrough

Following is the guide to integrate PHP Grid Framework with Laravel 5.

laravel_result

Step1: Folder placements in Laravel.

There are 2 main folders in PHP Grid Framework package archive. You need to:

Copy the contents of lib/inc folder —> Laravel/app/Classes/phpgrid
Copy the contents of lib/js folder —> Laravel/js/phpgrid

laravel_step1_1

The ‘app/Classes’ folder does not exist by default in laravel. You may create it for 3rd party class libraries.
Create another folder inside it with name ‘phpgrid’ and move all contents of ‘lib/inc’ in it. Final result will look like this:

laravel_step1_2

In similar way, copy the files from lib/js to laravel/public/js/phpgrid. Final result should look like following:

laravel_step1_3

Step2: Setting Controller code.

Here we included our library and rest code looks same as in our demos. Note the ‘\’ before class name while instantiating object. Finally we passed the output of render() function to view with a variable name ‘phpgrid_output’.

For demo purpose, we modified ‘laravel/app/Http/Controllers/WelcomeController.php’

laravel_step2

Step2: Setting View code.

In view code, we included the JS/CSS files from the ‘js’ folder which we copied in step1.1
And using blade template variable output, we pushed the grid output in our desired place in html.
For demo purpose, we modified ‘laravel/resources/views/welcome.blade.php’

laravel_step3

Note: PHP Grid Framework does not utilize ORM model layer of Laravel. It uses it’s own backend libraries.

Result: Get Set – Go!

laravel_result

Download all files to kick-start Laravel 5 with PHP Grid Framework.

Note: Demo comes with non-commercial / evaluation version of php grid framework. You can buy commercial usage license from this link.

PHP Database Table Editor v2.0

On various occasions, we want instant access to see or edit our database tables without having time to write a whole module with add, edit, delete, list, search (CRUD) operations. Whether your database is SQL Server, Oracle, DB2, MySQL or PGSQL — PHP Grid provides you easy solution that takes database credentials in config and provide table access in form of lightweight and rich featured PHP Grid. It will provide you complete functions within your existing application admin interface.

This lightweight, yet power-featured PHP Grid Database Editor is developed by very simple code OR we can say by just configuration. In main code logic, we simply passed the dropdown value of selected table in $g->table attribute, and that’s all!

$g = new jqgrid();
// set few params
$grid["caption"] = "Grid for '$tab'";
$grid["autowidth"] = true;
$g->set_options($grid);
// set database table for CRUD operations
$g->table = $tab;
// render grid
$out = $g->render("list1");

You can extend this code to incorporate Access Control (ACL), Exporting Data (PDF, CSV, XLS) and several other features to make a powerful tool. We omitted them to show the code simplicity. This demo is based on MySQL, but you can have same function for MS SQL Server, Oracle, PgSQL databases.

Features in v1.2:

  • Selection of tables and fields for editing
  • Show/Hide particular fields in runtime
  • Bulk Editing data with multiselection
  • Grid Persistance (Column Resizing, Filters, Sort etc)

PHP Grid comes with free version and a licensed version. With Free version you can connect with others databases like MySQL, MS SQL Server, Oracle, PgSQL,DB2. Licensed version also supports many advance features which you can integrate in your application.

Complete code for this demo can be accessed from this link.

You can download and start saving your time now!

Releases:

v2.0 – May 19 2016
v1.2 – Apr 25 2015
v1.0 – Apr 8 2014

Multiple Files Uploading

Now PHP Grid support multiple file upload option. You can multi-select the files as in screenshot and upload to server.

multi-upload-1 Files are uploaded in specified folder and file names are saved as comma separated value in file type field.

multi-upload-2

Active licensed customers can get latest build + demo which supports it.
Contact us at [email protected]

Firebird & SQLite Database Editor Support

We recently added support for Firebird & SQLite Databases. These fast, slick and reliable databases will help in running portable apps with PHP Grid. Thanks to PDO library, it’s integration is very with little configuration changes.

sqlite370_banner

// Database config for SQLite
$db_conf = array();
$db_conf["type"] = "pdo";
$db_conf["server"] = "sqlite:../../sampledb/northwind.sqlite";
$db_conf["user"] = "";
$db_conf["password"] = "";
$db_conf["database"] = "";
$g = new jqgrid($db_conf);

 

firebird

// Database config for Firebird
$db_conf = array();
$db_conf["type"] = "pdo";
$db_conf["server"] = "firebird:host=localhost;dbname=C:/sampledb/employee.fdb";
$db_conf["user"] = "SYSDBA";
$db_conf["password"] = "masterkey";
$db_conf["database"] = "";
$g = new jqgrid($db_conf);

For updated version, contact us at [email protected].

Search with Multiple Group Conditions

Hello,

We’ve added most robust and efficient complex searching method in PHPGrid.

This enables the more advanced search dialog allowing to add any number of complex group conditions. The user can now add or delete an unlimited number of conditions to perform the search as shown in screenshot.

search-group

This will formulate following search query, “( … )” refers groups in search query:

(name LIKE "%An%" OR company LIKE "%Mar%") 
AND 
(name LIKE "%Fa%" OR company LIKE "%Far%") 
AND 
gender = "male" AND client_id < 25

Hope you like this feature. Customers with active subscription can get latest build + demo via email.
We also offer discounted renewal prices for customers with expired subscription.
For any case, contact on our support team at ([email protected]).

Exporting selected Columns & Rows (at Runtime)

Now you can export selected rows and columns at runtime. This means no code change, Export selection options are now on accessible with grid operations toolbar.

Demo: http://phpgrid.org/demo/demos/export/export-selected.php

In demo, select columns using column chooser and rows by multiselect option, then click Export selected button. This will export PDF of selected rows/cols. As the grid exports PDF format, the data table can be printed by your favorite PDF reader.

Export selected Columns and Rows

Enhanced Autocomplete (Typeahead) Integration

We’ve further enhanced PHP Grid and JQuery UI Autocomplete integration.
Types and Steps shows how to integrate database driven type ahead / autocomplete by lookup sql query.

1) Basic Typeahead (single field)

Step1: Set formatter to autocomplete on desired column

$col["formatter"] = "autocomplete"; // autocomplete

Step2: Set format options query. The field in sql aliased ‘v’ will be shown in list

// Fill the name field with query values typeahead
$col["formatoptions"] = array(	"sql"=>"SELECT name as v FROM clients", "update_field"=>"name");

2) Autofill other field.

The field ‘company’ will be filled w.r.t. selected name.

$col["formatoptions"] = array(	"sql"=>"SELECT company as k, name as v FROM clients","update_field"=>"company");

The field aliased ‘k’ will be set in the ‘updated_field’ column (e.g. company)

3) Callback function

Connect a callback function that will auto-fill multiple fields.

$col["formatoptions"] = array(	"sql"=>"SELECT *, name as v FROM clients", "callback"=>"fill_form");

and in html part, define callback JS function.

<script>
function fill_form(data)
{
    jQuery("input[name=gender].FormElement").val(data.gender);
    jQuery("textarea[name=company].FormElement").val(data.company);

    jQuery("input[name=gender].editable").val(data.gender);
    jQuery("textarea[name=company].editable").val(data.company);
}
</script>

References: Sample Code and Live demo

Active license subscription OR those who wish to renew subscription can get updated build by contacting via email ([email protected]).