質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.80%

jquery simplePaginationを使ってデータベースのリストを表示したい

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 1,921

aizawal-hiroki

score 50

jquery,simplePagination,cakephp2 を使いデータベースのテーブルの中身をリスト表示したいのですがページング機能の追加でsimplePaginationを入れたのですがデータベースのテーブルの件数とsimplePaginationのitemの数をリンクさせたいのですがどうすればいいかわかりません。詳しい人教えてください

 $(document).ready(function(){
               getdata(0);
           });

           //ページング機能
           $(function(){
            $("#paging").pagination({
                items: 8,
                displayedPages: 8,
                cssStyle: 'light-theme',
                prevText: '前',
                nextText: '次',
                onPageClick: function(pageNumber){
                    getdata(pageNumber);
                    }
                })
               });

           function show(pageNumber){

               var page="#page-"+pageNumber;
               $('.selection').hide()
               $(page).show()

               }


//            listデータを取得(検索条件使用)してテーブルを作成する

           function getdata(pageNo){

            var data = new Object();
            data["siteid"] = $("#siteid").val();
            data["terminalid"] = $("#terminal").val();
            data["dtbid"] = $("#dtbid").val();
            data["model"] = $("#model").val();
            data["day"] = $("#day").val();
            data["day2"] = $("#day2").val();
            data["page"] = pageNo;

              //var data = new Object();
            $.ajax({
               type:"POST",
                url:"https://hogehoge/lists",
                data:data,
                dataType:"json",


                success: function(data, status){
                    $('#Result > table').empty();
                        var result=$("<table>");
                        result.append('<tr><th>id</th><th>created</th><th>dtbid</th><th>terminalid</th><th>siteid</th><th>tel</th><th>modelver</th><th>androidver</th><th>macaddr</th><th>akey</th><th>updataday</th><th>edit</th></tr>');
                    if(data.length > 0){
                        console.log(data);
                        for(var i=0;i<data.length;i++){
                            var tr=$('<tr><td>' + data[i]["dtb"]["id"] + '</td>'+
                                         '<td>' + data[i]["dtb"]["created"] + '</td>' +
                                         '<td>' + data[i]["dtb"]["dtbid"] + '</td>' +
                                         '<td>' + data[i]["dtb"]["terminalid"] + '</td>' +
                                        '<td>' + data[i]["dtb"]["siteid"] + '</td>' +
                                        '<td>' + data[i]["dtb"]["tel"] + '</td>' +
                                        '<td>' + data[i]["dtb"]["modelver"] + '</td>' +
                                        '<td>' + data[i]["dtb"]["androidver"] + '</td>' +
                                        '<td>' + data[i]["dtb"]["macaddr"] + '</td>' +
                                        '<td>' + data[i]["dtb"]["akey"] + '</td>' +
                                        '<td>' + data[i]["dtb"]["updataday"] + '</td>' +
                                       "<td ><button id='edit' onclick='jump("+data[i]["dtb"]["id"]+");' style='margin-left:5px;padding:1px 20px;'>編集</button></td>"+
                        "</tr>"
                                    );

                        var td=$('<td>');
                        tr.append(td);
                        result.append(tr);

                        }
                    $('#Result').append(result); 
                    }
                },
                error: function(XMLHttpRequest, status, errorThrown){
                alert(XMLHttpRequest.url + ":"+ status);
                    }
                });
           }
public function lists(){
        $this->autoRender = false;
        $this->loadModel("dtb"); 
        $limitdata = null;

    //    $count = find();

        $limitdata = $this->dtb->find('all',array(
            'fields' => array("created","id","terminalid", "siteid", "dtbid", "model", "modelver",                     "androidver" , "tel", "akey", "macaddr"),
//            'conditions' => array('dtb.id' => 10),
            'order' => array('id' => 'asc'),
            'limit' => $this->request->data["limit"],
            'group' => array('dtb.id'),
            'page' => $this->request->data["page"],
//            'offset' => 0,
//            'callbacks' => true,
//            'recursive' => 0,
            ));
        $data = array();
        $data["count"] = $count;
        $data["list"] = $limitdata;
        return json_encode($data);

        return json_encode($limitdata);
        print_r($limitdata);
}
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

0

simplePagination.js はHTML上にかかれた要素を元にページ分割するものなので、DBからの呼び出しに対応するようなものではありません。すべてのデータを最初から出力するか、別の方法を探されることをお勧めします。

【simplePagination.js - A simple jQuery pagination plugin and 3 CSS themes.】
http://flaviusmatis.github.io/simplePagination.js/

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.80%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る