我正在使用this plugin对我的列表项进行分页,但我对如何实现此操作来查询我的表以提取和限制10或根据我的需要并在我的{{1}中显示内容感到困惑} tag。
这是我的样本。
database.php中
<ul>
的index.php
class Database{
protected $connection;
public function __construct(PDO $connection)
{
$this->connection = $connection;
}
public function getData(){
try{
$cmd = $this->connection->prepare("SELECT COUNT(*) FROM names");
$cmd->execute();
$rows = $cmd->fetchColumn();
$cmd=null;
return $rows;
}catch(PDOException $ex){
}
}
public function display($start,$perpage){
try{
$cmd = $this->connection->prepare("SELECT name FROM names LIMIT ? , ?");
$cmd->bindParam(1,$start);
$cmd->bindParam(2,$perpage);
$cmd->execute();
$rows = $cmd->fetchAll(PDO::FETCH_ASSOC);
$datali = '';
foreach($rows as $r){
$datali.='<li class="list-group-item">'.$r['name'].'</li>';
}
return $datali;
}catch(PDOException $ex){
}
}
}
答案 0 :(得分:1)
这取决于您想要显示的内容。如果要显示数据库中的数据,可以参考以下示例:
我们假设您有10行数据表。 首先,我们需要查询数据库并从表中获取所有数据
$result = $con->query("SELECT * FROM table");
现在我们需要计算得到的行数。
$rows = $result->num_rows;
我们想要在每个页面中显示5个项目。
$per_page = 5;
我们用
计算页数$pages = ceil( $rows / $per_page );
我们将获得2页。
现在我们将检查我们所在的页面并设置起点
$page = isset( $_GET['page'] ) ? $con->real_escape_string($_GET['page']) : 0;
$page == 0 ? $start = 0 : $start = ( $page - 1 ) * $per_page;
$curpag = ( $start == 0 ) ? 1 : ( $start / $per_page ) + 1 ;
现在是时候显示表格中的数据了
$result = $con->query("SELECT * FROM table ORDER BY id ASC LIMIT $start, $per_page");
while($row = $result->fetch_array(MYSQLI_ASSOC)):
//display data in table/list/etc.
endwhile;
我们使用
添加分页元素<ul id="pagination" class="pagination-sm"></ul>
最后我们初始化插件
<script>
var pages = '<?php echo $pages;?>'; //We store the number of pages in a variable to use it below
$('#pagination').twbsPagination({
totalPages: pages,
visiblePages: 7,
href: '?page={{number}}' //Very important!
});
</script>