我正在开发一个项目,将数据库中的数据回显到表中。我想在客户端对数据进行分页。所以我使用引导分页器库: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)。听起来这可能正是你想要的。