1

私は以下のクエリとjqueryデータテーブルの初期化コードを使用していますが、返された行が5000を超えるため、ブラウザーが応答しなくなり、サーバー側のオプションも使用しようとしましたが、成功しませんでした。

 $data1 = mysql_query("select b.bcode as bcode,upper(b.bname) as branch,
         upper(st.new_state) as state,upper(b.dist) as dist,sum(a.amt) as amt,
         count(a.amt) as num from mtrans a join ipbs_brmst b on a.brcd=b.bcode 
         and orgdate between '$fdate_new' 
         and '$tdate_new' join state_mapping st on b.state=st.org_state
         group by b.bcode");

while($info = mysql_fetch_array( $data1 )) 
     { 

      $brch = $info['branch'];
      $st = $info['state'];
      $dt = $info['dist'];
      $bcode = $info['bcode'];
      $amt = $info['amt'];
      $num = $info['num'];


     $msg .=  "<tr>";                
     $msg .=  "<td align='left' ><a href=\"mtnx_details.php?b_code=".$bcode."&fdate=".$fdate_new."&tdate=".$tdate_new."\">" . $brch . "</a></td>";
     $msg .=  "<td align='center'>".$st. "</td> ";
     $msg .=  "<td align='center'>".$dt. "</td> "; 
     $msg .=  "<td align='center'>".$num. " </td>"; 
     $msg .=  "<td align='right'>".$amt. " </td></tr>"; 
     } 

   }

        echo $msg;


        ========================

<script>
   $(document).ready(function(){
      $('#Table').dataTable({
          "sPaginationType": "full_numbers"
      });
   });
</script>
4

2 に答える 2

2

GUI に多数の行を表示することは悪い習慣です。そのような膨大な量のデータを決してスクロールしないユーザーには役に立ちません。代わりに、データをフィルタリングする方法を提供するか、ユーザーがドリルダウンできる階層を提示する必要があります。その後、jquery を使用して、選択した詳細データを遅延読み込みできます。

于 2013-11-07T07:35:15.793 に答える