2017-11-24 10 views
-2

私は以前の開発者によって開発されたアプリケーションを持っています。今、そのアプリケーションには17000のエントリがあり、アプリケーションは遅くなっています。その非常に遅いようにすべてのデータをロードするのに10分かかります。phpでmy sqlを使ってページングを行うには

JSでページングするだけで、すべてのデータを一度に取得できるからだと思います。

最初のページの最初の10個のエントリを取得し、次のページまたはページ2のボタンをクリックすると、次の10個のデータを取得するためのクエリが発生するはずです。

現在のアプリケーションクエリ:

SELECT bm.bank_name,b.bank_ifsc,e.emp_id,e.emp_code,e.first_name,e.middle_name,e.last_name,e.active_status as emp_status,e.account_no 
FROM tblemployee e 
Left Join tblbank_mst bm on bm.bank_id=e.fk_bank_id 
Left Join tblbank b on b.bank_ifsc_id=e.fk_bank_ifsc_id 
WHERE e.del_status=0 
AND e.role_id=4 
AND e.is_admin=0 
ORDER BY first_name 

答えて

0

あなたはいくつかの手順

を実行する必要があり

ステップ1:そのがないことを意味、その後1として設定されたURLのページ1の最初のセットを意味している場合pageを設定する 必要性レコード

ステップ2: セット番号: 計算を動的例えば ページ1レコード#を開始:6 3ページから開始:1つの 2ページから開始する11

からスタートを例えばページあたりのレコードページごとに5つのレコード

ステップ3のその後、それが印刷されます

SELECT bm.bank_name,b.bank_ifsc,e.emp_id,e.emp_code,e.first_name,e.middle_name,e.last_name,e.active_status as emp_status,e.account_no 
FROM tblemployee e 
Left Join tblbank_mst bm on bm.bank_id=e.fk_bank_id 
Left Join tblbank b on b.bank_ifsc_id=e.fk_bank_ifsc_id 
WHERE e.del_status=0 
AND e.role_id=4 
AND e.is_admin=0 
ORDER BY first_name 
LIMIT $starting, $pagination 

のようなクエリを追加

first page : LIMIT 1,5 
second page : LIMIT 6,5 
third page : LIMIT 11,5 

など。

底面積で

、あなたが

  • まず
  • のようなナビゲーションを設定する必要が戻る
  • 最終
  • [いいえ、現在に基づいてページを設定する必要があります

ページ。

関連する問題