2016-04-07 28 views
0

私のPHPアプリケーションにhttp://js-grid.comを使用しています。私はこのライブラリをインライン編集/更新/追加/削除用に選択します。今度は$variablesまたは$arrayというデータベースからのデータを表示したいと考えています。ここで私はdb (data)をレンダリングしているcontrollerというプロパティを持って上記のコードでスクリプトJavascript関数(jsGrid({controller})でPHP変数/配列を追加する方法)

<script> 
    $(function() { 
     $("#jsGrid").jsGrid({ 
      pageButtonCount: 5, 
      deleteConfirm: "Do you really want to delete the client?", 
      controller: db, 
      fields: [ 
       { name: "Name", type: "text", width: 150 }, 
       { name: "Age", type: "number", width: 50 }, 
       { type: "control" } 
      ] 
     }); 

    }); 
</script> 

です。 dbはファイルdb.jsから来ています。ファイルは以下のようになります。

(function() { 
var db = { 
    loadData: function(filter) { 
     return $.grep(this.clients, function(client) { 
      return (!filter.Name || client.Name.indexOf(filter.Name) > -1) 
       && (!filter.Age || client.Age === filter.Age) 
       && (!filter.Address || client.Address.indexOf(filter.Address) > -1) 
       && (!filter.Country || client.Country === filter.Country) 
       && (filter.Married === undefined || client.Married === filter.Married); 
     }); 
    }, 
    insertItem: function(insertingClient) { 
     this.clients.push(insertingClient); 
    }, 
    updateItem: function(updatingClient) { }, 
    deleteItem: function(deletingClient) { 
     var clientIndex = $.inArray(deletingClient, this.clients); 
     this.clients.splice(clientIndex, 1); 
    } 
}; 

window.db = db; 

db.countries = [ 
    { Name: "", Id: 0 }, 
    { Name: "United States", Id: 1 }, 
]; 

db.clients = [ 
    { 
     "Name": "Otto Clay", 
     "Age": 61, 
    }, 
    { 
     "Name": "Connor Johnston", 
     "Age": 73, 
    } 
]; 

}()); 

また、私はgithubのドキュメントhttps://github.com/tabalinas/jsgrid-phpを追いました。しかし私はjavaScriptsと同様に自分の意見に私のphp $variable or $arrayを置くにはどうすればいいのか分かりません。私が欲しいもの

私はcontroller : dbとしてのJavaScriptのセクションに$arrayを呼びたいです。

エラー: 私は

db.js` controller: <?php echo $array; ?>', its returning null cause I can not call as they called as default fromを使用してどのように私はphp $variable or $arrayの代わりに、高度でjavaScript おかげでcontroller: db呼び出すことが私を助けてください。

+0

JavaScriptのPHP変数を追加しないでください。醜いのは悪いことですが、代わりにjsonをブラウザに返すメソッドを追加してください。 – jycr753

+0

@ jycr753 ::私はあなたを手に入れませんでした。もう少し私を案内したいですか?ところで私はLaravel 5.1で作業しています::コントローラに配列や変数を準備するメソッドがあり、次にビューに送信します –

+0

laravelを実行しているので、本当に簡単です。コントローラを呼び出す新しいルータを作成しますモデルからデータを返すコントローラ呼び出しメソッドで、必要なデータを生成します。私はユーザーモデルですか? – jycr753

答えて

0

オプションは動作を定義します。静的なデータはそこに置くことはできません。 しかし、静的な値(phpの例のような)を置くことができるオプションdataがあります。

あなたのための別のオプションはcontroller.loadDataを定義することです:

controller: { 
    loadData: function() { 
     return $.ajax({ 
      type: "GET", 
      url: "/clients/" 
     }); 
    }, 

、あなたが仕えるサーバー要求された情報

switch($_SERVER["REQUEST_METHOD"]) { 
    case "GET": 
     $result = $clients->getAll(); 
     break; 
    ... 
} 

header("Content-Type: application/json"); 
echo json_encode($result); 

にあなたはjsgrid-php repoでの実装を見つけることができます。

+0

::ありがとうございます。それらをすべて自分のシステムにチェックインさせてください。 –

+0

@ tablin ::ありがとうございます。それは働いている!!!!! –

関連する問題