ストアを繰り返し処理し、選択したすべてのレコードを削除するこの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));
}
}
明らかに説明がない場合は、 –
の意味が分かりません。あなたは、SQLクエリで使用するlicense_id属性について話していますか? – hansn
はい、まさに、私はfeature_id属性と一緒にその属性を提出する必要があります –