Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 升级到jqGrid 5.0.1删除停止工作而编辑仍然有效_Php_Jqgrid_Upgrade - Fatal编程技术网

Php 升级到jqGrid 5.0.1删除停止工作而编辑仍然有效

Php 升级到jqGrid 5.0.1删除停止工作而编辑仍然有效,php,jqgrid,upgrade,Php,Jqgrid,Upgrade,以下是我的网格js的一个片段: $grid.jqGrid({ url:'xtras/Products.php', editurl:'xtras/Products.php', datatype: "json", mtype:'GET', colModel:[... {name:'ID',index:'catalogue.ID', hidden:true, width:10, sortable:f

以下是我的网格js的一个片段:

$grid.jqGrid({
        url:'xtras/Products.php',
        editurl:'xtras/Products.php',
        datatype: "json",
        mtype:'GET',
        colModel:[...
            {name:'ID',index:'catalogue.ID', hidden:true, width:10, sortable:false, editable:true, key:true},
            ....]
PHP方面:

elseif ($_REQUEST["oper"] == "del") {

        $deleteSQL = sprintf("delete from snapper.catalogue where `catalogue`.`ID` = %s",
                        GetSQLValueString($_REQUEST['ID'], "int")
                    );

        $Result = mysqli_query($GLOBALS["___mysqli_ston"],$deleteSQL) or die($error = mysqli_error($GLOBALS["___mysqli_ston"]));
}
其中,
$\u请求['ID']
未传递给
$\u请求[“oper”]=“del”
,但它确实传递给
$\u请求[“oper”]=“edit”

编辑转储:

_REQUEST - 2015-11-25 12:59:53: 
Array
(
    [Catalogue] => test523
    [Artist] => STEPHANE GRAPPELLI
    [Title] => kkk1651564
    [UKDP] => 5.50
    [Release_Date] => 25 Nov 15
    [Ppoint] => 1
    [Label] => 2
    [Format] => 33
    [Genre] => 27
    [UPCEAN] => 636551052375
    [AlbumCLineYear] => 0
    [AlbumCLineInfo] => 
    [AlbumPLineYear] => 0
    [AlbumPLineInfo] => 
    [Credits] => 
    [Artist_Sort] => 
    [Active] => 1
    [Deleted] => 1
    [id] => 1951
    [copyID] => 
    [oper] => edit
)
删除转储:

_REQUEST - 2015-11-25 13:00:49: 
Array
(
    [oper] => del
    [id] => 4
)

其中
[id]
是网格中的行号,而不是数据库中的
id
。为什么?

如果您希望在编辑/删除期间发布的数据中id参数的名称将是
id
,而不是
id
,那么您可能应该添加jqGrid的
prmNames:{id:}
选项?通过使用该选项,您可以从
colModel
中删除不需要的隐藏
ID


如果您确实需要保留隐藏列
ID
,并且需要jqGrid将
ID
ID
发送到服务器,那么您应该将
editrules:{edithidden:true},hiddedLG:true
属性添加到
ID
列的定义中。请参阅。

嗨,奥列格!长时间。实际上我想到了这一点,并尝试使用id和id-结果相同-编辑有效,删除无效。刚刚尝试了
prmNames
-它也不起作用=(它仍然传递网格数组中的行数([oper]=>del[ID]=>2)我添加了
editrules:{edithidden:true},hidedlg:true
id
key:
true
false
-不起作用…@Elen:我不确定您使用的是哪个具体问题。您可以尝试将CSS的URL和JS文件的URL(至少是临时的)修改为(jqGrid的独立分支,我开发了将近一年)。请参阅带有URL的文章。如果您想获得正确的发布数据,那么您描述的问题实际上是Guriddo bug。如果您想使用Guriddo,请报告它。哦,我没有意识到。我更喜欢旧网格,而不是Gruriddo。让我来看看。@Elen:起源于旧jqGrid,它在麻省理工学院和/或GPLv2更名为Guriddo jqGrid JS,其源代码仍在打开中,但该产品现在需要购买,请参见价格。不久之后,我为最新的免费版本4.7做了准备,并继续开发。我实现的许多新功能都在上进行了描述,每个版本都有自述。@Elen:您可以替换
val.toLowerCase()
String(val).toLowerCase()
或测试
if(val==“String”和&val.toLowerCase()==“done”){…
if(val==null和&val.toLowerCase()==“done”){…
。我重写了jqGrid代码的许多部分以实现新功能。以前您的旧代码是不安全的,现在如果输入数据是
null
,您会得到
val
作为
null
。在简单的代码修复之后,您的代码还能工作吗?