1 回答
TA贡献1757条经验 获得超7个赞
考虑以下 PHP。
public function process($which) {
if(isset($which)){
if ($which == 'a_table1'){
$sql = "SELECT a_table1 FROM data.blah1";
} else if ($which == 'a_table2'){
$sql = "SELECT a_table2 FROM data.blah2";
} else if ($which == 'a_table3'){
$sql = "SELECT a_table3 FROM data.blah3";
}
$stid = oci_parse($this->db, $sql);
oci_execute($stid);
if (!@oci_execute($stid)) {
$error = oci_error($stid);
throw new Exception($error['message']);
}
$myData = array();
while ($list = oci_fetch_array($stid, OCI_ASSOC)) {
array_push($myData, $list);
}
header('Content-Type: application/json');
echo json_encode($myData);
} else {
header('Content-Type: application/json');
echo json_encode(array("error" => "WHICH not assigned"));
}
}
然后这应该发回数组的 JSON 数据。
例子
[{
"A_ID":"OJC-FCT"
},{
"A_ID":"DAL-ATCT"
},{
"A_ID":"AFF-MIL-TWR"
},{
"A_ID":"CNO-ATCT"
},{
"A_ID":"GSN-FCT"
},{
"A_ID":"CGI-NFCT"
},{
"A_ID":"NDZ-MIL-TWR"
},{
"A_ID":"FCS-MIL-TWR"
},{
"A_ID":"LAL-FCT"
},{
"A_ID":"LNK-ATCT"
},{
"A_ID":"CHD-FCT"
},{
"A_ID":"FLG-FCT"
},{
"A_ID":"MCN-FCT"
},{
"A_ID":"SKA-MIL-TWR"
}];
然后,您可以在每个循环中使用它来构建选项。
var which = $(frm).attr("id");
$.get('dlteopt', {id: which }, function (response) {
console.log(response);
$("#agent").html("");
$.each(response, function(index, value) {
$("<option>").html(value['A_ID']).appendTo($("#agent"));
});
});
您还可以简化 PHP 输出,使其只是项目的结果数组。
$myData = array();
while ($list = oci_fetch_array($stid, OCI_ASSOC)) {
array_push($myData, $list['A_ID']);
}
那么你的循环也会被简化。
$("#agent").html("");
$.each(response, function(index, value) {
$("<option>").html(value).appendTo($("#agent"));
});
添加回答
举报