将获取的行加载到php数组


Loading fetched rows into php array

下面我试图在页面加载时发送一个ajax请求,以获得给定表中productID和productName的结果。大约有50k行需要被拉出,由于在服务器端(php)上组织和处理数组,我遇到了一些时间延迟问题。查看下面的代码,我能够在控制台上毫无问题地显示前10k行,但是当我查询整个表的所有结果时,控制台返回一个空白对象,对此有任何可能的解决方案吗?

function loadProducts() {
   jQuery.ajax({
                type: "POST",
                data:{'x':'x' },
                url: 'performanceHelper/loadProductList.php',
                dataType: 'text',
                success: function (result, textstatus) {
                   //Removing reference in Firebase   
                    console.log(result);
                }
                });
}
window.onload = loadProducts();
PHP代码

require_once("../connect.php");

$sql = "SELECT productID, productDesc FROM products";

  $temp = $dbh->query($sql);

  $results = $temp->fetchAll();

   echo json_encode($results);

就像@RiggsFolly在评论中提到的,你到底想用浏览器中的50000个项目做什么????

然而,如果你必须,因为你可以得到10k没有任何问题,就像你提到的,我建议你尝试分页…创建一个函数,通过发送startlimit作为参数来获取项目。

这样,你不必一次发送5万项,但你仍然可以得到你的数据。