我原本是一个.NET开发人员,因此我一直习惯使用ADO.net和LINQ进行网格视图和其他.net控件的强类型,简单数据访问。在尝试使用CodeIgniter和一些jQuery学习PHP和MySQL时,我很难想象我的数据访问方法。
我想为我的网格控件使用PHP或jquery网格(我非常依赖它)。从MySQL环境填充它们的最佳方法是什么?我听说过很多关于使用JSON的内容,但我还没有研究过它。我也很确定CodeIgniter也会进行大量的数据访问。
我需要采取什么方向?谢谢Stackoverflow!
答案 0 :(得分:2)
让我们开始吧:
普通PHP
<?php
class Report{
….
public function __construct($city, $sidx, $sord, $_search, $searchField, $searchString, $searchOper){
//connecting to db, stm, execute query, fetch array from result …..
echo json_encode(array("name"=>"Alissa", "phone" => "555-55551", "city" => "Sussex");
//or
echo json_encode($result);
//where result is an associative array, codeigniter can map such objects from ORM results
}
}
$report = new Report($_GET['city'], $_GET['sidx'], $_GET['sord'], $_GET['_search'],$_GET['searchField'],$_GET['searchString'],$_GET['searchOper'])
?>
jQuery / html使用jqGrid
$("#grid").jqGrid({
url: 'report.php?city=' + c + '&searchString=null&searchField=null&searchOper=null',
datatype: 'json',
mtype: 'GET',
colNames: ['Name', 'Phone', 'City'],
colModel: [
{ name:'rows.name', index: 'name', search:true, jsonmap: 'name', width: 30, align: 'left', sortable:true},
{ phone:'rows.phone', index: 'phone', jsonmap: 'phone', width: 50, align: 'left'},
{ name:'rows.city', index: 'city', jsonmap: 'city', width: 50, align: 'left', sortable: true},
pager: '#pager',
rowNum: 8,
autowidth: true,
rowList: [8, 16,32,48],
sortname: 'name',
sortorder: 'asc',
viewrecords: false,
caption: 'Customer',
jsonReader : {
root: "rows",
repeatitems: false
},
height: 650,
width: 800
});
无论你使用什么PHP框架,请相信我。我使用QCubed,有时我为此编写普通的PDO类。
你可以检查一下: http://www.codeigniter-jquery.com/codeigniter/using-json-in-codeigniter-with-jquery/
答案 1 :(得分:0)
echo json_encode($result);
答案 2 :(得分:0)
我不确定你究竟在问什么,但这可能会有所帮助: Datamapper
它使查询变得简单,建立在codeigniter的Active Records
之上