使用Ajax获取PHP资源[重复]

问题描述 投票:0回答:1

我正在使用我的网页设置分页。我有一个包含大结果集的

resource
,创建如下:

$sql = "select * from some_table";
pg_prepare($connection,"list",$sql);
$result = pg_execute($connection,"list",array());
$_SESSION['resultSet']=$result;

理论上,这会将数据库结果集的

resource
存储在
SESSION
中,我可以使用指针选择“接下来的 25 行”,然后使用 ajax 调用选择“接下来的 25 行”。

现在,由于某种原因,存储在会话中的

resource
被存储为值为零的
integer
(换句话说
false
)。

所以当我调用这段代码时(使用 AJAX):

$increment     = 25;
$array         = array();
$i             = 0;

while ($i<$amount) {
    $row = pg_fetch_array($_SESSION['resultSet'],null,PGSQL_ASSOC);
    array_push($array,$row);
    $i++;
}

echo json_encode($array);

我收到一条错误消息,指出输入到

resource
函数中的
pg_fetch_array
是一个整数值。

有人知道如何正确实施这样的想法吗?

谢谢你。

php jquery ajax pagination
1个回答
1
投票

您绝对不想将结果集存储在会话中并从会话中提取页面。这就是您拥有数据库的原因。

您想要做的是在 javascript 代码中跟踪分页数据(最初可能来自 PHP)。然后,当您触发 ajax 请求时,请确保将分页数据(当前页码、每页结果数)传递到服务器端脚本。然后,您的服务器端脚本负责将正确的 LIMIT 发送到您的 DBMS(数据库服务器)。

© www.soinside.com 2019 - 2024. All rights reserved.