PHP DataGrid for CodeIgniter

We’ve made a quick walk-through how to integrate the smart PHP DataGrid with CodeIgniter framework. For this, we have used:

  • Grid 4 PHP Framework 2.9
  • Latest version of CodeIgniter (v4+)
  • PHP 8 (can work on lower supported versions as well)

In this code we used MySQL, however you can use PHP DataGrid combination with almost all famous Database engines including Oracle, Microsoft SQL Server, DB2, Postgres, SQLite, Firebird, etc.

Steps:

Steps to integrate are very simple.

  1. Download CodeIgniter archive from Github repository and extract it in your public_html / htdocs / similar web public folder of your web server. Make sure it is showing the CI startup page.
  2. Download the Grid4PHP archive from our website. You can either use free OR paid version, Comparison is available here. Free version provides basic essential functions for evaluation purpose.
  3. Extract the Grid4PHP archive and move the ‘lib’ folder from archive to the ‘public’ folder of CodeIgniter.
  4. Replace the code of CI’s Controller app\Controller\Home.php with this sample controller code.
  5. In View, include the JS and CSS files and echo variable passed from controller. CI’s View welcome_message can be replaced with this sample view code.
  6. In Controller, make sure you set the database configuration (Line 9-14) and a table to fetch data (Line 45), according to your requirement. Refer lines in sample controller code.

Troubleshooting:

  • Getting “Whoops! We seem to have hit a snag. Please try again later”. If you see this message after setting up, please check the log file of CodeIgniter in “writable/logs” folder. It will tell the exact reason behind it.
  • Make sure you have “intl” and “curl” php extensions installed. They are required by CodeIgniter 4.
  • You can always open a support ticket for us.

Next Actions:

Using Grid 4 PHP Framework in WordPress

As popularity of WordPress is growing really fast, we’ve published a new simplified tutorial on how to integrate Grid 4 PHP Framework with WordPress Sites.

It allows using all features of our Data Grid inside WordPress and much simpler than previous implementations. Steps required to integrate are following:

Updated 14-Feb-2024: New revised tutorial supports:

  • PHP 8.3 and WordPress 6.4.3 (latest till date)
  • Data-grid custom event handlers as well.

Step1: Download Free version or Buy package from our website (if not already done) and move “lib” folder from package in your WordPress root directory, and rename “lib” folder as “phpgrid”

and inside this folder the contents should be:

Step2: Install WordPress plugin “Code Snippets” from wordpress.org/plugins/code-snippets/ OR download from Github Repository and install manually.

Step3: Goto admin panel and click Add Snippet as in image. Add any title you like and in code section, copy paste this Sample Snippet Grid Code in code section shown below:

Step4: In this code, we have created a shortcode here with name: [phpgrid-users] so we will now place it on page where we want to show our Datagrid.

Result: Now Save the page and open / preview it, you will get the datagrid.


Adding Grid in WordPress Admin Area
:

Following steps will be required to make shortcode available in admin area – plugin development.

Step1: Add admin_init & admin_footer hook along with others.

Step2: Select ‘Run Snippet everywhere’ after snippet code block.

Step3: Call do_shortcode() function where you want to show datagrid.

Result:

Next Actions: You can create more snippets a (step3) by copying code from package demos and assign new unique shortcode for each grid which can be placed on your page/post of WordPress.

Let us know your feedback. If you have any questions, contact our support center.

Active License Subscription customers can get free upgrade using this link.

SQL Server Integration Just Got Better with PHP Data Grid

Hello,

We’ve just added improved support to use our PHP Data Grid with MS SQL Server. The demo browser that comes with the product can now be tested with SQL Server database along with MySQL database.

To install demos with PHP and MS SQL Server, Download the package from our download page and then install the database from the MS SQL Server database script.

To connect MS SQL Server, you must have SQL Server Native driver for PHP installed on your environment. Next you can use one of the following connection settings to be set in config.php. For example:

// Using PDO
define("PHPGRID_DBTYPE","pdo");
define("PHPGRID_DBHOST","sqlsrv:Server=den1.mssql5.gear.host");
define("PHPGRID_DBUSER","testdb63");
define("PHPGRID_DBPASS","testpass");
define("PHPGRID_DBNAME","testdb63");

// Using PHP Native SQL Server Driver
define("PHPGRID_DBTYPE","mssqlnative");
define("PHPGRID_DBHOST","den1.mssql5.gear.host");
define("PHPGRID_DBUSER","testdb63");
define("PHPGRID_DBPASS","testpass");
define("PHPGRID_DBNAME","testdb63");

// Using OBDC Driver
define("PHPGRID_DBTYPE","odbc_mssql");
define("PHPGRID_DBHOST","Driver={SQL Server};Server=den1.mssql5.gear.host;Database=testdb63;");
define("PHPGRID_DBUSER","testdb63");
define("PHPGRID_DBPASS","testpass");
define("PHPGRID_DBNAME",null);

Troubleshooting:

Best way to troubleshoot database connection is to make an independent php file with just php-sqlserver connection code as shown in php manual. When it works, just put the verified configuration in config.php file of php data grid.

What Next:

Drag-and-Drop Row Sorting, Effortlessly

Hello,

We are thrilled to share an exciting new feature of ‘Row Drag-and-Drop Sorting’ to manage and organize your data in an intuitive and user-friendly manner. With this feature, you can now effortlessly rearrange data rows within your tables by simply dragging and dropping them into the desired position.

The todo-list demo is mobile friendly and drag drop feature can be used on mobile devices as well.

See Screencast below.

Mobile View:

The working demo can be checked online and inside full version package in demos/apps/todos.

Live Demohttps://www.gridphp.com/demo/demos/apps/todos.php

This feature is a part of our upcoming version 2.9.0 and active subscription customers can request free upgrade or renew your expired subscription using this link.

What Next:

Capture Digital Signatures with DataGrid

Hello,

You can now take Digital Signatures using DataGrid and save it in database along with other data. Bulk editing feature can also be used when updating Digital Signature. See screencast below.

The working demo can be checked online and inside full version package in demos/integration/signature.

Live Demo: https://www.gridphp.com/demo/demos/integrations/signature.php

Next Actions:

Active License Subscription customers can get free upgrade using this link.

Released Version 2.8

Welcome to the August 2021 release (version 2.8). There are many updates in this version that we hope you will like. It contains PHP 8 compatibility, UI Design Optimizations, Performance Optimizations, Security updates and Bug fixes. It also contains some new demos for better usability of data grid in your application. Highlights mentioned below.

Data Grid in Accordion Control

Now you can have multiple data grids inside accordion control. It’s best suited for multiple step process and to organize multiple modules on a single page.

Custom HTML Listing Layout

This feature allow you to display each record with customized layout with html code and fields placeholders.

Improved Database Table Editor

This tool enables you to quickly perform DML operations on a database defined in the code configuration.

RSS Reader using DataGrid

This demo loads the RSS feed into an array to be used as a data-source of data grid.

Data Import Progress Bar

Progress bar was a demanding feature when we importing large dataset.

Open Street Maps Integration

Like Google maps, you can also use Open Street maps and use the parameters of lat/lng from database using field placeholders.

Improved Tree Grid

Updates:

  • PHP 8.0 compatibility, updated related libraries
  • UI and Design improvements
  • Security updates: sanitizations added
  • Custom HTML layout on Datagrid List View
  • Demo to persist grid setting in database
  • Demo to integrate open street maps integration
  • Import feature now show progress-bar & column match probability setting while import mapping
  • Global search when multiple words typed will now narrow down searches
  • Optimized Tree grid Demo (parent selection via lookup dropdown)
  • Lookup option in dropdown (show lookup by just FK table, FK-id, FK-label)
  • Added demo for Read-only grid, Plain Html UI grid, Responsive grid with horizontal scroll

This also contains over 70 reported bug fixes and updates.

Integration with Code Igniter 4.0 and Laravel 8.0 is also in testing phase and will be released soon as a separate update.

Next Actions:

Active License Subscription customers can get free upgrade using this link.

PHP 8 Support

PHP 8 has been released some time ago and had some breaking changes. We’ve been hard at work behind the scenes to provide support for all our libraries so that upgrading to PHP 8 with Grid 4 PHP Framework is easy.

The licensed version update is available now and free version packaging is in progress which will be published soon.

Active License Subscription customers can get update using this link.

Lookup Item Addition in Runtime

Hello,

Now you can a new option in lookup dropdown without going on other screen (via lookup datagrid and popup). See screencast below.
The working demo can be checked online and full version package in demos/appearance/dropdown.

Live: https://www.gridphp.com/demo/demos/appearance/dropdown.php

Next Actions:

Active License Subscription customers can get free upgrade using this link.

Customized List Layout for Mobile Devices

Hello All,

For small screen/mobile devices, we have further optimized responsive data-grid view.

You can also have customized way to show row data in single column on small screens. You can change it’s layout with HTML/CSS code and use placeholders e.g. {unit_price} to show field names content where you want to display.

If any column is hidden by responsive behavior (screen size detection) of data-grid OR manually set to be hidden on certain screen size, then a last column with ellipsis “…” will be displayed to show hidden details.

Next Actions:

Active License Subscription customers can get free upgrade using this link.

PS: Special thanks to our customer Robert Childers for suggestions & feedback.

 

September 2019 Release (version 2.6.3)

Welcome to the release of this month. In this release which we have made several new updates and fixes on last version. Highlights mentioned below. It also contains important security updates.

Highlights:

Multiple Columns Sorting

In case of multi sort when first time clicked the sort is asc (or descending) the next click sort to
opposite direction the third click of the column remove the sorting from that column. Your first column must have
similar records to see the change of second level sorting and onwards.

It is disabled by default, you can enable it by:

$opt["multiSort"] = true;
// ...
$g->set_options($opt);

HTML Export

With this export option, you can use your data-grid data to be used in various other apps like Google Sheets, G-Docs, MS Word etc.
To enable it, refer export section in documentation.

Exact Match in Global Search

To do exact search in global search, you can enclose your query text in double quotes “…”.

Demo App: Simple RSS Reader

Added a basic RSS reader application which fetches RSS feed provided by user and show in data grid.

Refer demos/apps/rss-reader.php for working demo and code.

Filtered Results notification

For working demo, refer demos/search/search-template.php in your downloaded package or online demos.

Added How-To Guides to integrate in WordPress & Joomla

Refer these links for more details:

Custom Tooltip & Help hints for Columns:

With each column, you can now set custom tooltip / help text. E.g.

$col["tooltip"] = "Custom Tooltip for Company Name";

Vertical Column Headers Layout:

In dialogs of Add or Edit, you can add column headers in multi-column layout mode.

Optimized mobile menu layout

On mobile devices, it will show toolbar options on multiple lines when increased.

Debugging SQL Queries:

By enabling `debug_sql` or `debug_search` configuration, you will see SQL queries being sent to database in error message box.

In order to debug SQL queries, set:

$g->debug_sql = 1;

In order to debug Search queries, set:

$g->debug_search = 1;

You can also close error box by clicking ‘x’ and continue next debug step.

Notable Fixes & Updates:

– Additional security checks added for add/edit/delete operations.
– Fix for treegrid display in new version
– Excel mode checkbox, drodown ui fixed
– Skip global search in persistence filter search
– Override column chooser display on responsive autohide column
– Replaced rawgit -> jsdelivr links from demos
– Custom separator/delim for get_dropdown_values function
– Fixed import function in subgrid
– Mobile fix for top menu overlap
– Fixed file upload in direct add form
– Column header tooltip enabled for all
– Make responsive inner subgrid
– isnull (null) columns support added in import
– Auto scroll to top on next page
– Updated tooltip multilingual for row actions
– other 25 minor updates.

Next Actions:

Active License Subscription customers can get free upgrade using this link.