在使用jqGrid时感到困惑因为我已经可以成功地从数据库中检索记录并将其值作为数组传递给我,我尝试使用直接从数据库到jqGrid但是我遇到了问题,如果我是不行的使用存储过程。重新加载网格在使用查找记录功能后工作,我的问题是当我在我的数据库中直接手动添加/删除/编辑时,它不会在重新加载网格后显示更改,如何才能解决此问题?
顺便说一句,我的代码基于link
这是我的网格代码:
<?php
require_once 'jqSuitePHP_4_4_4_0/jq-config.php';
require_once 'jqSuitePHP_4_4_4_0/php/jqGrid.php';
require_once 'jqSuitePHP_4_4_4_0/php/jqGridArray.php';
include('DB_Functions.php');
$db = new DB_Functions();
$conn = new jqGridArray();
$grid = new jqGridRender($conn);
$model = array
(
array(
'name'=>'User ID',
'width'=>80,
'formatter'=>'integer',
'formatoptions'=>array
(
'sorttype'=>'integer'
)
),
array
(
'name'=>'First Name',
'width'=>100
),
array
(
'name'=>'Middle Name',
'width'=>100
),
array
(
'name'=>'Last Name',
'width'=>100
),
array
(
'name'=>'Age',
'width'=>80
),
array
(
'name'=>'Address',
'width'=>150
)
);
$grid->setColModel($model);
$grid->setGridOptions(array("datatype"=>"local"));
foreach($db->get_users() as $user)
{
$data[] = array
(
'User ID'=>$user['user_id'],
'First Name'=>$user['user_fname'],
'Middle Name'=>$user['user_mname'],
'Last Name'=>$user['user_lname'],
'Age'=>$user['user_age'],
'Address'=>$user['user_address']
);
}
$grid->navigator = true;
$grid->csvsep=",";
$grid->setNavOptions
(
'navigator',
array
(
"csv"=>true,
"pdf"=>true,
"add"=>false,
"edit"=>false,
"del"=>false,
"view"=>true,
"excel"=>true
)
);
$grid->callGridMethod("#grid", 'addRowData', array("User ID", $data));
$grid->renderGrid('#grid','#pager',true, null, null, true,true);
$conn = null;
?>
这是我的数据库功能代码
<?php
class DB_Functions
{
private $pdo;
public function __construct()
{
$this->pdo = new PDO
(
'mysql:host=127.0.0.1;
dbname=jqGrid_tester;
charset=utf-8',
'root'
);
}
public function get_users()
{
$stmt = $this->pdo->prepare
(
'call get_users'
);
$stmt->execute();
return $stmt->fetchAll
(
PDO::FETCH_ASSOC
);
}
}
?>