2016-04-26 21 views
-1

ストアを繰り返し処理し、選択したすべてのレコードを削除するこのajaxリクエストがあります。チェックボックスを選択してストアからレコードを削除する

Ext.Ajax.request({ 
    url: 'system/index.php', 
    method: 'POST', 
    params: { 
     class: 'LicenseFeatures', 
     method: 'delete', 
     data: Ext.encode({ 
     feature_id: (function(){ 
       var e = ""; 
       var sel = Ext.getCmp('featureGrid').getSelection(); 
       var c = 0; 
       for(var i in sel) { 
        var x = (c == 0) ? e = sel[i].data.feature_id : e += "," + sel[i].data.feature_id; 
        c++; 
       } 
       return e; 
      })() 
    }) 

}, 
       success: function(response){ 
    Ext.MessageBox.alert('Status', 'Record(s) has been deleted.'); 
    Ext.getStore('LicenseFeaturesStore').reload(); 
}, 
    failure: function(){ 
     Ext.MessageBox.alert('Status', 'Failed to delete records.'); 
    } 
}); 

コードは、現在のコードは、グリッドから1つのIDを取得し、それを削除します。私がする必要があるのは、データベースに特定のSQLを実行する必要があるため、グリッドから2つのIDを取得することです。 SQLには2つの入力が必要です。ここには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)); 
} 
} 
+0

明らかに説明がない場合は、 –

+0

の意味が分かりません。あなたは、SQLクエリで使用するlicense_id属性について話していますか? – hansn

+0

はい、まさに、私はfeature_id属性と一緒にその属性を提出する必要があります –

答えて

0

これにはデータプロパティを変更してみてください。

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 
    }; 
})()) 
+0

それは動作していますが、特定のレコードを削除していない、それを介して動作します –

+0

それはまさにあなたがそれを行うと言っているものです。 2つのレコードだけを削除する場合は、それらのレコードに固有の列を見つけなければなりません。 – hansn

+0

私はそれが働いた、ありがとう –

関連する問題