$res = mysql_query("SELECT * FROM `basket` WHERE `account_id` = '$_SESSION[ID]'");
while($row = mysql_fetch_assoc($res)) {
$search = $row['number'];
echo $search;
}
我想做的是使用Ajax调用这个PHP文件,然后"回声"的数据,我想解析并放置在一个div,这是Ajax调用
$(document).ready(function() {
var data = "func=basket";
$.ajax({
url: "functions/ajax.php",
data: data,
type: "GET",
success: function(data, textStatus, jqXHR){
$("#response").html(data);
},
error: function (jqXHR, textStatus, errorThrown){
console.log('Error ' + jqXHR);
}
});
});
但是我遇到的问题是,它没有解析数据,直到每一个while($row etc..
被处理,我想返回echo行1乘1,我该如何去做
不如换个方法……
while($row = mysql_fetch_assoc($res)) {
$search[] = $row['number'];
}
echo json_encode($search);
在成功回调函数中,使用jQuery each()迭代json_encoded篮子元素数组
jquery
http://api.jquery.com/jQuery.each/你在这里寻找的函数是flush,这将允许你刷新你的web服务器(Apache, Nginx等)的写缓冲区
$pdo = new PDO('mysql:dbname=yourdb;host=127.0.0.1', 'root', '');
$sth = $pdo->prepare('SELECT * FROM `basket` WHERE `account_id`=?');
$sth->bindParam(1, $_SESSION['id'], PDO::PARAM_INT);
$sth->execute();
while($row = $sth->fetch(PDO::FETCH_ASSOC))
{
echo $row['number'];
flush();
}
你也在使用过时的函数(mysql_*
),你应该考虑用PDO或MySQLi替换它们(我已经在我的帖子中为你做了这个)。
注意:有些浏览器在显示内容前需要一定量的数据