我已经按照官方网站https://phpgrid.com/example/phpgrid-and-codeigniter-integration/上的教程进行操作 但是我的视图未显示网格,我的数据库名为 phpGrid 并具有表 producto ,该问题仅在CI中出现,因为我已经测试了 phpGrid_Lite (没有CI),可以很好地显示网格。
(对不起我的英语不好:))
这是我的Welcome
控制器
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Welcome extends CI_Controller {
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 producto", "id", "producto"); //$this->ci_phpgrid->example_method(3);
$this->load->view('show_grid',$data);
}
}
这是我的show_grid.php
文件
<?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>
conf.php
<?php
/**/
if (stripos($_SERVER['SCRIPT_NAME'], 'apps/phpgrid-custom-crm')) {
define('PHPGRID_DB_HOSTNAME', '127.0.0.1'); // database host name
define('PHPGRID_DB_USERNAME', 'root'); // database user name
define('PHPGRID_DB_PASSWORD', ''); // database password
define('PHPGRID_DB_NAME', 'phpGrid'); // database name
define('PHPGRID_DB_TYPE', 'mysql'); // database type
define('PHPGRID_DB_CHARSET','utf8'); // ex: utf8(for mysql),AL32UTF8 (for oracle), leave blank to use the default charset
} else {
//* mysql example
define('PHPGRID_DB_HOSTNAME','localhost'); // database host name
define('PHPGRID_DB_USERNAME', 'root'); // database user name
define('PHPGRID_DB_PASSWORD', ''); // database password
define('PHPGRID_DB_NAME', 'phpGrid'); // database name
define('PHPGRID_DB_TYPE', 'mysql'); // database type
define('PHPGRID_DB_CHARSET','utf8'); // ex: utf8(for mysql),AL32UTF8 (for oracle), leave blank to use the default charset
}
答案 0 :(得分:1)
您是否将CI配置为使用本机PHP会话?由于CI3中的权限更新,您可能还需要add .htaccess in the application文件夹。
答案 1 :(得分:1)
我在CI和phpgrid Lite中遇到了同样的问题,这就是我显示网格的方式。 我从应用程序/库中移走了资源文件夹,因此它与应用程序文件夹和系统文件夹位于同一文件夹中。
然后我更改了控制器和视图的这些部分。
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Welcome extends CI_Controller {
public function index()
{
require_once('assets/phpGrid_Lite/conf.php');
$dg = new C_DataGrid("SELECT * FROM Orders", "orderNumber", "Orders"); //$this->ci_phpgrid->example_method(3);
$dg -> set_multiselect(true);
$dg -> enable_search(true);
$dg->display(false);
$data['phpgrid'] = $dg->get_display(true);
$this->load->view('show_grid',$data);
}
}
在查看文件中show_grid.php
<?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">
<?= $phpgrid; ?>
</div>
</div>
</body>
</html>
希望这对您有用。