sql >> データベース >  >> RDS >> Mysql

クライアント側の問題に関するレコードのページ付け

    私のコメントで述べたように。

    次のことができます:

    $(document).ready(function()
    {
        $('.paginate').live('click', function(e)
        {
            e.preventDefault();
            var btnPage = $(this);
            $.ajax(
            {
                url : btnPage.attr('href'),
                success : function(resp)
                {
                    // replace current results with new results.
                    $('#project_section').html(resp);
                },
                error : function()
                {
                    window.location.href = btnPage.attr('href');
                }
            });
        });
    });
    

    上記は、各ページネーションリンクをクリックすることを複製します。

    次に行うことをお勧めするのは、「結果」リストを生成するPHPコードとHTMLを別のファイルに分離することです。

    このように、結果を表示するページで、include('path-to-results-file.php');を使用するだけです。 これはajax以外のリクエストでも機能し、次のことができます:

    Process.php

    if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
    {
        include('path-to-results-file.php');
        die();
    }
    

    上記は、ajaxリクエストが行われたかどうかを検出します。行われた場合、結果を含むページ全体を表示する代わりに、結果とページネーションのみを表示します。

    より良い説明を含むように更新

    以下は、私が言っていることの非常に簡単な例です。

    現在のprocess.php

        <?
        // currently contains all of the code required
        // to query the database etc.
    ?>
    <html>
    <head>...</head>
    <body>
        <!-- header content -->
        <table>
        <?
            // currently contains all of the code required to display
            // the results table and pagination links.
        ?>
        </table>
        <!-- footer content -->
    </body>
    </html>
    

    新しいprocess.php

    <?
        if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
        {
            include('path-to-results-file.php');
            die();
        }
    ?>
    <html>
    <head>...</head>
    <body>
        <!-- header content -->
        <? include('path-to-results-file.php'); ?>
        <!-- footer content -->
    </body>
    </html>
    

    新しいpath-to-results-file.php

    <?
        // currently contains all of the code required
        // to query the database etc.
    ?>
    <table>
    <?
        // currently contains all of the code required to display
        // the results table and pagination links.
    ?>
    </table>
    

    今...process.phpに行くと 通常はブラウザ経由、またはjavascriptが無効になっている場合。これは、Javascriptがない場合と同じように機能します。

    process.phpに移動すると 次に、ページネーションリンクの1つ(javascriptが有効になっている)、process.phpをクリックします。 Ajaxを使用していることを検出し、結果の表のみを送り返します。




    1. MySQL:行レベルのセキュリティ(Oracleの仮想プライベートデータベースなど)を実行するにはどうすればよいですか?

    2. MS SQLServer2017標準でのフェイルオーバーの実装

    3. ResultSetをストリーミングするときにMySQLConnector/ Jは行をバッファリングしますか?

    4. MySQLとPythonMySQLパッケージをOSXLeopardにインストールするにはどうすればよいですか?または、OS Xを使用してWeb開発者になることをどのように学ぶことができますか?