如何使用引导程序分页器库对从PHP返回的数据进行分页


How to use bootstrap paginator library to paginate data echoed from PHP?

我正在开发一个项目,将数据库中的数据回显到表中。我想在客户端对数据进行分页。所以我使用引导分页器库:http://lyonlai.github.io/bootstrap-paginator/

这是我的代码:

在我的标题中:

 <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    <script src="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.1/js/bootstrap.min.js"></script>
    <script src="/js/bootstrap-paginator.min.js"></script>
                    <script type='text/javascript'>
        var options = {
            currentPage: 3,
            totalPages: 10
        }
        $('#messages-pag').bootstrapPaginator(options);
    </script>

在我的页面正文中:

<?php $messages = process_api_get($base_url,'/messages'); ?>
     <?php if($messages) { ?>
<?php foreach( $messages as $message ) : ?>
     <div id="messages-pag">
 <tr>
<td>
<?php echo get_username_by_id($message->to_user_id); ?>
 </td>
<td>
<?php echo get_username_by_id($message->from_user_id); ?>
</td>
<td>
 <?php echo $message->datetime; ?>
</td>
<td><a class="btn btn-sm btn-default " data-toggle="modal" data-target="#view_message_<?php echo $message->id; ?>"> View</a></td>
<td><a class="btn btn-sm btn-default " data-toggle="modal" data-target="#edit_message_<?php echo $message->id; ?>"> Edit</a></td>
<td><a href="<?php echo url('functions.php?action=delete_message&id=' . $message->id); ?>" class="btn btn-sm btn-default confirm-click"> Delete</a></td>
</tr>
                                                                                                    </div>
<?php endforeach; ?>
                                                                                                    <?php } ?>

但这段代码根本没有受到分页的影响。有人知道为什么吗?

正如Marc所说,您很可能需要准备好脚本,以便在HTML完全加载后应用JS。但看起来您也将JS库附加到了EACH消息中。我没有看BS pag的文档,但我猜JS需要应用于父元素,这样它才能完成它的任务。换句话说,将DIV移动到前臂外侧。在div中有表行/列而没有表元素,这对我来说也很奇怪。如果BS pag期望有一个表,这可能会导致一些问题。

此外,你可能想看看数据表(datatables.net)。听起来这可能正是你想要的。