2010-11-24 18 views
0

こんにちは私は2週間、私のjqgridがうまく動作しないようにしています。私はこのlenguajeについて多くを知らない。私はグリッドがデータベースからデータを持って来るようにしますが、新しい行を編集したり追加したりするたびに、変更は画面上のデータベースにのみ適用されます。私は、ページが消えるページをリフレッシュします。助けて!!!!jqgrid、行の追加、編集、削除をお手伝いします


これは、これは、これがconec.php(たっ)であるindex.htmlを

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>My First Grid</title> 

<link rel="stylesheet" type="text/css" media="screen" href="css/ui-lightness/jquery-ui-  1.8.6.custom.css" /> 
<link rel="stylesheet" type="text/css" media="screen" href="css/ui.jqgrid.css" /> 

<style type="text"> 
    html, body { 
    margin: 0;   /* Remove body margin/padding */ 
    padding: 0; 
    overflow: hidden; /* Remove scroll bars on browser window */ 
    font-size: 75%; 
    } 
</style> 

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Documento sin t&iacute;tulo</title> 
</head> 

<body> 
<table id="grid_id"></table> 
<div id="gridpager"></div> 
</body> 
<script src="js/jquery-1.4.2.min.js" type="text/javascript"></script> 
<script src="js/i18n/grid.locale-en.js" type="text/javascript"></script> 
<script src="js/jquery.jqGrid.min.js" type="text/javascript"></script> 
<script src="datos.js" type="text/javascript"></script> 
</html> 

あるdatos.js

jQuery("#grid_id").jqGrid({ 
    url:'conec.php', 
datatype: "json", 
colNames:['id','name', 'record_id', 'created_at','updated_at','deleted_at'], 
colModel:[ 
    {name:'id',index:'id', width:55,editable:false,editoptions:{readonly:true,size:10}}, 
    {name:'name',index:'name', width:80,editable:true,editoptions:{size:10}}, 
    {name:'record_id',index:'record_id', width:90,editable:true,editoptions:{size:25}}, 
    {name:'created_at',index:'created_at', width:60, align:"right",editable:true,editoptions:{size:10}}, 
    {name:'updated_at',index:'updated_at', width:60, align:"right",editable:true,editoptions:{size:10}}, 
    {name:'deleted_at',index:'deleted_at', width:60,align:"right",editable:true,editoptions:{size:10}}, 
    ], 
rowNum:10, 
rowList:[10,20,30], 
pager: '#gridpager', 
sortname: 'id', 
viewrecords: true, 
sortorder: "desc", 
caption:"Navigator Example", 
editurl:"editurl.php", 
height:210}); 
jQuery("#grid_id").jqGrid('navGrid','#gridpager', 
{}, //options 
{height:280,reloadAfterSubmit:false}, // edit options 
{height:280,reloadAfterSubmit:false}, // add options 
{reloadAfterSubmit:false}, // del options 
{} // search options 
); 

ある

<?php 
include_once 'lib.php'; 

$conexion= mysql_connect('localhost', 'root', ''); 
mysql_select_db("taskmaker", $conexion); 
$result = mysql_query("SELECT id, name, record_id, created_at, updated_at, deleted_at  FROM Team", $conexion); 

$i=0; 
while($row = mysql_fetch_array($result,MYSQL_ASSOC)) { 
$responce->rows[$i]['id']=$row[id]; 
$responce->rows[$i] ['cell']=array($row[id],$row[name],$row[record_id],$row[created_at],$row[updated_at],$row[d eleted_at]); 
$i++; 
} 
echo json_encode($responce); 
?> 

これは

<?php 
$dbhost = "localhost"; 
$dbuser = "root"; 
$dbpassword = ""; 
$database = "taskmaker"; 
?> 

のthatsすべてlib.phpです。

+0

サーバー側の変更の際に最も重要な部分である 'editurl.php'のコードは含まれていません。さらに、少なくとも '<!DOCTYPE html> 'の形式で' '宣言(たとえば、http://www.w3schools.com/tags/tag_DOCTYPE.asp参照)を含める必要があります。 – Oleg

答えて

1

jqGridは、グリッドの包含を編集するさまざまな方法をサポートしています:cell editinginline editingform editing。現在のコードはform editingです。編集ライブはthe demoに表示されます。左側のツリー部分で「ライブデータ操作」の項目を選択し、次に「ナビゲータ」を選択します。 inline editingがどのように見えるかを理解するには、「行編集」/「入力タイプ」も参照してください。

ユーザが行の編集を完了して「送信」ボタンを押すと、追加/変更/削除された行に関する情報がjqGridのediturlパラメータ(あなたの場合はediturl.php)によって定義されたURLに送信されます。行データと共に付加的なパラメータとして、"add","edit"または"del"の文字列とidとなり、新しい行を追加する場合には"_empty"となるように、operが投稿されます。新しい行を追加する場合、サーバーコードは新しい追加行のidを返す必要があります。行の編集中にサーバーに送信され、サーバーから返される内容を確認するには、FiddlerまたはFirebugを使用すると便利です。

したがって、editurl.phpの実装は、あなたのサーバーコードで見逃しているものです。

関連する問題