0

ユーザーデータを表示するために使用するこのPHP関数があります。一度実行すると、基本的にユーザーデータを含む div が表示されます。

function listings($fornavn, $efternavn, $email, $adresse, $tlf, $postnr, $city, $fodselsdag, $brugerid,$bartype,$idbar)
{

    ?>

    <div class="container">
    <span class="records" id="id-<?php echo $brugerid;?>">

    <div class="customer bidDiv clearfix">

    <?php if ($bartype=='temp_vip') { ?>

        <ul>
            <li>
                <span class="actionSpan" id="<?php echo $brugerid;?>" value="<?php echo $idbar;?>">
                <a class="edit-opt" id="godkend" href="#">GODKEND</a>
                </span>
            </li>
            <li>
                <span class="actionSpan" id="delete-<?php echo $brugerid;?>" value="<?php echo $bartype;?>">
                <a class="delete-opt" id="delete" href="#">Afvis</a>
                </span>
            </li>

    <?php }else{ ?>

            <ul>
            <li>
                <span class="actionSpan" id="delete-<?php echo $brugerid;?>" value="<?php echo $bartype;?>">
                <a class="delete-opt" id="delete" href="#">Slet</a>
                </span>
            </li>
            <li>
                <a class="edit-opt" href="editform.php?id=<?php echo $brugerid."&bartype=".$bartype;?>" rel="facebox">Rediger</a>
            </li>

    <?php if ($bartype =='vip'){?>

            <li>
                <a class="print-opt" href="print.php?id=<?php echo $brugerid;?>" rel="facebox">Print</a>
            </li>

    <?php }else{
         // Dont render vip link
    }}?>
            </ul>
            <p class="contact-data">
                <?php echo $email;?><br>
                Tlf.: <?php echo $tlf;?>
            </p>
            <div class="base-data">
                <h4><?php echo ucwords($fornavn)." ".ucwords($efternavn);?></h4>
                <p>Fødselsdag <?php echo $fodselsdag;?></p>
                <address><?php echo ucwords($adresse) ." ". $postnr ." ". ucwords($city);?></address>
            </div>
    </div><!-- end customer -->

        </div>
    </span>
<?php

私は主にこの関数をループで使用して、MySQL データベースから、他の何かと特定の関係を持つすべてのユーザーを表示します。

これはすべてうまくいっています。ただし、現在はすべての結果を一度に取得します。現在、メンバーは 5 人しかいないので問題ありませんが、800 人または 2000 人のメンバーがいるとしたら、ユーザーのリストは非常に長くなります。

そのため、表示するユーザー数に何らかの制限を実装したいと考えていますが、それでもすべてのユーザーを閲覧できるようにしたいと考えています。多くのサイトでは、ページのようなものを使用して、そのように結果を分割しています。次のようなリンク:

[1] [2] [3] [Last page>>]

これを開始する方法がわかりませんか?どのように進めますか?

このJqueryプラグインも調べました: http://andersonferminiano.com/jqueryscrollpagination/

しかし、PHP ファイルをリロードし続け、その結果、ループが再起動され、結果が何度も何度も表示されます。

誰かがこれを作成する背後にあるロジックを手伝ってくれますか? または、上記のjqueryプラグインを使用できる方向に私を向けてください-ループを1回だけロードし、スクロールすると結果をレンダリングします。

どんな助けや指針も大歓迎です!

ありがとう

4

1 に答える 1

2

デフォルトの Jquery ページネーションは、指定されたテーブルをページ上のいくつかのタブに分割するだけです。つまり、すべてのデータが実際にロードされます。AJAX リクエストを実行して次のページをフェッチし、PHP コードと連携させるものもあります。

理想的には、 LIMIT (結果オブジェクトの行数) と OFFSET (行 X から開始) を使用してクエリを制限します。これにより、オフセット行から制限までのレコード数が得られ、次にロジックを使用しますページの最大数を決定する PHP 側。

  $page = $_POST["page"] * 25; // make sure that page 0 is the starting page or calculate 
  $SQL =  "SomeQueryText LIMIT 25 OFFSET '$page'" ;
  $result = query ($SQL);
于 2012-08-29T14:19:31.850 に答える