Я изначально являюсь разработчиком .NET, поэтому я всегда использовал ADO.net и LINQ для строго типизированного, простого доступа к данным в gridviews и других элементах управления .net. В попытке изучить PHP и MySQL с помощью CodeIgniter и тире jQuery, но мне трудно просматривать мои методы доступа к данным.
Я хочу использовать сетку PHP или jquery для элементов управления сеткой (на которые я очень полагаюсь). Каков наилучший способ заполнить их из среды MySQL? Я много слышал об использовании JSON, но пока ничего не изучил. Я также уверен, что CodeIgniter также выполняет большой доступ к данным.
В каком направлении мне нужно принимать это? Спасибо, Stackoverflow!
Давайте начнем с этого:
Обычный 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 Framework вы используете, поверьте мне. Я использую QCubed, иногда я пишу простые классы PDO для этого.
Вы можете проверить это: http://www.codeigniter-jquery.com/codeigniter/using-json-in-codeigniter-with-jquery/
Я не уверен, что именно вы спрашивали, но это может быть полезно: Datamapper
он упрощает запрос, построенный поверх codeigniter Активные записи
echo json_encode($result);