我正在尝试使用$.post
从MySQL检索多个数据。我似乎无法让这个工作。如何使用MySQL的jquery-ajax检索多个数据?
PHP
$e = $_POST['stu'];
$sq ="SELECT physics, chemistry, agriculture FROM subjects WHERE student = :student";
$stmt = $getdb->prepare($sq);
$stmt->execute(array(':student'=>"123456"));
$rslt = $stmt->fetchAll();
$sd=array();
foreach($rslt as $val){
$sd[] = $val;
}
echo json_encode($sd);
jq:
$.post('my.php',
{
stu:"test"
},
function(data){
$.each(data,function(ab){
alert(ab.physics+" || "+ab.chemistry+" || "+item.agriculture);
});
});
修改
的console.log(数据);
答案 0 :(得分:0)
假设你想要返回两个数组。
所以从PHP方面来看:
echo json_encode(Array($first_array,$second_array), JSON_FORCE_OBJECT);
然后是js方面:
function(data) {
var my_obj = JSON.parse(data);
var first_arr = my_obj[0];
var second_arr = my_obj[1];
}
答案 1 :(得分:0)
如果您正在尝试使用那种sintax,那么我建议将php代码更改为以下sintax
$e = $_POST['stu'];
$sq ="SELECT physics, chemistry, agriculture FROM subjects WHERE student = :student";
$stmt = $getdb->prepare($sq);
$stmt->execute(array(':student'=>"123456"));
$rslt = $stmt->fetchAll();
$sd=array();
foreach($rslt as $val){
$sd[] = array("".$val.""=>$val);
}
echo json_encode($sd); Ho
在jquery ajax中我推荐以下
$.post('my.php',
{
stu:"test"
},
function(data){
var result = $.parseJSON(data);
$.each(result,function(i, ab){
console.log(ab.physics+" || "+ab.chemistry+" || "+item.agriculture);
});
});
希望这有用......