0
$res = mysql_query("SELECT * FROM `basket` WHERE `account_id` = '$_SESSION[ID]'");
while($row = mysql_fetch_assoc($res)) {
        $search = $row['number'];
        echo $search;
}

我正在尝试做的是对这个 PHP 文件使用 Ajax 调用,然后是我想要解析并放置在 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..都不会解析数据,我想逐个返回回显行 1,我将如何去做

4

2 回答 2

1

您在此处查找的函数称为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 替换它们(我在帖子中已为您完成了此操作)。

注意:某些浏览器需要一定数量的数据才能显示内容。

于 2013-03-11T17:24:06.390 回答
1

采取不同的方法怎么样...

while($row = mysql_fetch_assoc($res)) {
    $search[] = $row['number'];

}

echo json_encode($search);

在您的成功回调函数中,您只需使用 jQuery each() 遍历篮子元素的 json_encoded 数组

循环通过json数组jquery

http://api.jquery.com/jQuery.each/

于 2013-03-11T17:28:02.570 回答