codeigniter コントローラを使用した剣道グリッドの例を教えてください
私の見解
$("#grid").kendoGrid({ dataSource: { transport: { read: { url: 'schoolC/crud', contentType: 'application/json' }, create: { url: 'schoolC/crud', type: "PUT", datatype: 'json' }, update: { url: 'schoolC/crud', type: "POST", datatype: 'json' }, destroy: { url: 'schoolC/crud', type: "POST", datatype: 'json' } }, error: function(e) { alert(e.responseText); }, schema: { data: "data", id: "school_id", model: { fields: { school_name: { type: "string", validation: { required: true } } } } }, pageSize: 10 }, height: 400, batch: false, scrollable: true, sortable: true, filterable: true, resizable: true, toolbar: ['create'], editable: "popup", pageable: { numeric: true, refresh: true, pageSizes: true }, columns: [ { field: "school_name", title: "School Name", width: 100 }, { command: ["edit", "destroy"], title: " ", width: "210px" } ]
});
コントローラー方式
function crud() { header("Content-type: application/json"); switch($_SERVER["REQUEST_METHOD"]) { case 'GET': echo $this->SchoolM->get_allJsonData(); break; case 'PUT': echo $this->SchoolM->addSchoolInfo(array('school_name'=> mysql_real_escape_string($_POST["school_name"]))); break; case 'POST': echo $this->SchoolM->updateSchoolInfo(array('school_name'=> mysql_real_escape_string($_POST["school_name"])), array('school_id'=> mysql_real_escape_string($_POST["school_id"]))); break; case 'DELETE': echo $this->SchoolM->deleteSchool(mysql_real_escape_string($_POST["school_id"])); break; } }
モデル方法
function get_allJsonData() { $arr = array(); $this->db->from('school'); $this->db->order_by("school_name", "asc"); $query = $this->db->get(); foreach($query->result_object() as $rows ) { $arr[] = $rows; } return "{\"data\":" .json_encode($arr). "}"; } function addSchoolInfo($school_name) { return json_encode($this->db->insert('school',$school_name)); } function updateSchoolInfo($school_date, $condition) { return json_encode($this->db->update('school', $school_date, $condition)); } function deleteSchool($school_id) { $this->db->where_in('school_id',$school_id); return json_encode($this->db->delete('school')); }
私はそれが読んだcodeigniterを使用していますが、残りの更新と削除の作成は適切に機能しません。また、各作成操作の行のサイズとして多くの空の行を追加します.plsは私を助けてくれます
質問する
1850 次
1 に答える
0
申し訳ありませんが英語がわからない、自動翻訳これはここで働いています、笑。しかし、私はあなたを助けることができると思います.あなたは彼らの呼び出しをGRIDでCRUDにするのに苦労していますか?
私がしたことは、同じ呼び出しですべてを作成することでしたが、何が行われるかを参照して渡された場合は GET を使用しました。以下の例を参照してください。
$("#grid").kendoGrid({
dataSource: {
transport:{
read: "CRUD.client.php?func=read",
create: {
url: "CRUD.client.php?func=create",
type: "POST"
},
update: {
url: "CRUD.client.php?func=update",
type: "POST"
},
destroy: {
url: "CRUD.client.php?func=delete",
type: "POST"
}
},
すべてのファイルに同じファイルが渡されると、php が読み取り、if によって誰がアラートを実行するかを決定するパラメーターが渡されることに注意してください。
if ($verb == "GET" && $func == "read") {code CRUD here}
助かりました!!!
于 2013-06-06T12:23:32.753 に答える