私のphpファイルにjqgridがあります。そのグリッドで追加、編集、削除機能を実行したい。以下はJQGridのコードです
<script type="text/javascript">
$(function() {
$("#list1").jqGrid({
url:'testJson.php',
datatype: 'json',
colNames:['sno','occasion','greeting'],
colModel :[
{name:'sno', index:'sno',width: 100,searchoptions: { sopt: ['eq', 'ne','cn']},edittype:'text',edit:true,editable:true},
{name:'occasion', index:'occasion',search: false,width: 120,edittype:'text',edit:true,editable:true},
{name:'greeting', index:'greeting',width: 120,edittype:'text',edit:true,editable:true,searchoptions: { sopt: ['eq', 'ne','cn']}},
],
pager: '#pager',
rowNum: 5,
rowList:[5,20,30],
sortname: 'id',
sortorder: 'desc',
viewrecords: true,
height: 'auto',
width: 725,
shrinkToFit: false,
gridview: true,
caption: 'Members',
editurl:"update.php"
});
jQuery("#list1").jqGrid('navGrid','#pager',{edit:true,add:true,del:true});
});
</script>
Editurl ページ、つまり update.php ファイルで、行の追加、編集、削除を行う次のコードを記述します。
mysql_connect($dbserver, $dbuser, $dbpassword);
mysql_select_db($dbname);
$sno = $_POST['sno'];
$occ = $_POST['occasion'];
$gr = $_POST['greeting'];
if ($_POST['oper'] == 'add') {
$q = mysql_query("insert into t1 values('$sno','$occ','$gr')") or die(mysql_error());
}
if ($_POST['oper'] == 'edit') {
$q = mysql_query("update t1 set sno='$sno',occasion='$occ',greeting='$gr' where sno='$sno'")or die(mysql_error());
}
if ($_POST['oper'] == 'del') {
$q = mysql_query("delete from t1 where rowid='$_POST[id]'")or die(mysql_error());
}
すべての追加および編集機能は機能していますが、クエリの削除のみが機能していません。最初に私は
$q = mysql_query("delete from t1 where sno='$sno'")or die(mysql_error());
そのクエリが機能しておらず、sno、occasion、greetings が定義されていないなどのエラーが発生しました。投稿属性は oper,id のみなので。そして、そのIDを使用して行を削除する方法がわかりません。
正しい方法を教えてください