Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.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 通过选中复选框从存储中删除记录_Php_Sql_Extjs - Fatal编程技术网

Php 通过选中复选框从存储中删除记录

Php 通过选中复选框从存储中删除记录,php,sql,extjs,Php,Sql,Extjs,我有一个ajax请求,它遍历存储并删除所有选定的记录 代码 当前代码从网格中检索1个id并将其删除。我需要做的是从网格中获取两个Id,因为我需要对数据库运行特定的sql。sql需要两个输入,下面是sql public function delete( $vars ){ $sql = "DELETE FROM `LicenseFeatures` WHERE feature_id in({$vars->data->feature_id}) AND license_id in({$vars

我有一个ajax请求,它遍历存储并删除所有选定的记录

代码

当前代码从网格中检索1个id并将其删除。我需要做的是从网格中获取两个Id,因为我需要对数据库运行特定的sql。sql需要两个输入,下面是sql

public function delete( $vars ){
$sql = "DELETE FROM `LicenseFeatures` WHERE feature_id in({$vars->data->feature_id}) AND license_id in({$vars->data->license_id})";
if( $result = $vars->db->query( $sql ) ) {
    echo json_encode( array( "success" => true,"sql"=>$sql ) );
} else {
    echo json_encode( array( "success" => false ) );
}
}

请尝试将数据属性更改为此

data: Ext.encode(( function(){
    var feature_id,
        licence_id;
    var sel = Ext.getCmp('featureGrid').getSelection();
    var c = 0;
    for( var i in sel ) {
        if (c == 0) {
            feature_id = sel[i].data.feature_id;
            licence_id = sel[i].data.licence_id;
        } else {
            feature_id += "," + sel[i].data.feature_id;
            licence_id += "," + sel[i].data.licence_id;
        }
        c++;
    }
    return {
        feature_id: feature_id,
        licence_id: licence_id
    };
})())

如果我没有解释清楚,请说:我不太清楚你的意思。您是在谈论sql查询中使用的license\u id属性吗?是的,确切地说,我需要将该属性与feature\u id属性一起提交,否则javascript可能会让您感到困惑,因此您希望将feature\u id属性添加到ajax请求中。问题是什么?它在工作,但并没有删除特定的记录。它似乎在删除所有具有这些功能的记录,这很难解释,但我会解决它。这正是您要它做的。如果只想删除两条记录,则必须找到这些记录所特有的列。
data: Ext.encode(( function(){
    var feature_id,
        licence_id;
    var sel = Ext.getCmp('featureGrid').getSelection();
    var c = 0;
    for( var i in sel ) {
        if (c == 0) {
            feature_id = sel[i].data.feature_id;
            licence_id = sel[i].data.licence_id;
        } else {
            feature_id += "," + sel[i].data.feature_id;
            licence_id += "," + sel[i].data.licence_id;
        }
        c++;
    }
    return {
        feature_id: feature_id,
        licence_id: licence_id
    };
})())