2016-10-02 10 views
0

以下、指定された表のproductIDとproductNameの結果を取得するためにページが読み込まれたときに、ajaxリクエストを送信しようとしています。引っ張られる行は約50kであり、サーバサイド(php)上の配列の整理と処理のために、いくつかの時間遅延の問題に遭遇しました。下のコードを見ると、最初の10k行を問題なくコンソールに表示できますが、すべての結果についてテーブル全体を照会すると、コンソールは空白のオブジェクトを返します。PHPの配列にフェッチされた行をロードする

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); 
+0

は、コンソールバッファの表示サイズに関連する問題である可能性があります。どのブラウザを使用しますか? – scaisEdge

+0

あなたはブラウザ上で50,000アイテムを使って何をするつもりですか?確かにそれらをユーザーに表示しないでください。 – RiggsFolly

+0

私は '$ results = $ temp-> fetchAll();'に十分なメモリが足りないと思うので、500エラーで終了します。 – cFreed

答えて

0

@RiggsFollyはコメントで述べたように、地球上で何がブラウザで50000個のアイテムをどうしたいですか????

しかし、あなたが言及したような問題なしで10kを得ることができるので、私はあなたにパラメータ設定を試してみることをお勧めします... startlimitをパラメータとしてアイテムを取得する関数を作成してください。

この方法では、一度に50k個のアイテムを送信する必要はありませんが、データを取得することはできます。

関連する問題