PHP / Codeigniter / jQuery / MySQL的最佳数据访问方法

时间:2010-09-14 02:44:58

标签: php jquery mysql json data-access

我原本是一个.NET开发人员,因此我一直习惯使用ADO.net和LINQ进行网格视图和其他.net控件的强类型,简单数据访问。在尝试使用CodeIgniter和一些jQuery学习PHP和MySQL时,我很难想象我的数据访问方法。

我想为我的网格控件使用PHP或jquery网格(我非常依赖它)。从MySQL环境填充它们的最佳方法是什么?我听说过很多关于使用JSON的内容,但我还没有研究过它。我也很确定CodeIgniter也会进行大量的数据访问。

我需要采取什么方向?谢谢Stackoverflow!

3 个答案:

答案 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

之上