2016-09-14 11 views
1

データベースのデータを表示するDataTableがあります。 whileループを使用してデータをフェッチし、テーブルに表示します。しかし、私が今問題にしているのは、データベースからのデータのすべての行がページングなしでテーブルに表示されることです。だから、私はデータベース内のデータの100行を持っている場合は、すべてが1つの長いテーブルに表示され、私はデータベース内のすべてのデータを表示するためにスクロールし続けなければならないと言うことができます。つまり、ページごとに表示されるレコードとページネーションが機能していないことを意味します。検索と並べ替えの面も機能しません。以下は私のコードとdatatableのスクリーンショットです。私は積み重なっているので私を助けてください。DataTablesページネーションと検索が機能しない

<table class="table table-striped table-bordered table-hover" id="dataTables-example"> 
           <thead> 
            <tr> 
             <th>Event Date</th> 
             <th>number</th> 
             <th>Agent number</th> 
             <th>Agent Name</th> 
             <th>Remarks</th> 
            </tr> 
           </thead> 
           <tbody> 
           <?php 

           $result = mysqli_query($conn,"SELECT * FROM roaming"); 
           $count = mysqli_num_rows($result); 

           while($row=mysqli_fetch_array($result)){ 

           ?> 


            <tr class=""> 
             <td><?php echo $row['eventDate'];?></td> 
             <td><?php echo $row['number'];?></td> 
             <td><?php echo $row['agent_number'];?></td> 
             <td class="center"><?php echo $row['service'];?></td> 
             <td class="center"><?php echo $row['vpmn'];?></td> 
            </tr> 
            <?php } //end of while loop ?> 
           </tbody> 
          </table> 

DataTableのスクリーンショットenter image description here

+0

データシートが初期化されているJavaScriptが表示されません。また、あなたのコードはすべての結果に対して新しい ' 'を出力しますが、これは必ずしも望ましいものではありません。 – Blake

+0

ありがとう@ブレイク。すべての結果に対して新しいを出力しないようにwhileループの前に ' 'を置くと、私の問題が解決されます。 –

+0

これは単なるフォーマットエラーであり、将来の価値があまりないため、おそらくこの質問を閉じることができます。 – Blake

答えて

1

あなたのSQLクエリは、 "ローミングSELECT * FROM" たとえば、すべての行、それらのだけではなく、最初の10を返します。

はちょうど最初の10行を取得するには、お使いのSQLクエリは次のようにする必要があります:

"SELECT * FROM roaming LIMIT 10,10" 

"SELECT * FROM roaming LIMIT 0,10" 

は、このようなクエリを使用します(次のページの)10〜20行を取得するには

+0

Datatablesはjavascriptライブラリです。彼が全く言及していないサーバー側の処理をセットアップした場合、あなたの提案は適用可能かもしれません。 – Blake

関連する問題