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 插件的方向 - 它只加载循环一次,并在我滚动时呈现结果。

任何帮助或指示将不胜感激!

谢谢

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 回答