【问题标题】:How to create pagination with PDO PHP [closed]如何使用 PDO PHP 创建分页 [关闭]
【发布时间】:2017-12-01 06:05:56
【问题描述】:

如何使用 mysql pdo 和 php 创建分页 我创建这样的代码,但得到了一些错误消息

<?php 
$halaman = 2; //batasan halaman
$page = isset($_GET['halaman'])? (int)$_GET["halaman"]:1;
$mulai = ($page>1) ? ($page * $halaman) - $halaman : 0;
$result = $db->query("SELECT * FROM kategori");
$result->execute();
$total = $result->fetchAll();
$pages = ceil(count($total/$halaman)); 
$query = $db->prepare("SELECT * FROM kategori LIMIT $mulai, $halaman");
    $query->execute();
    $data = $query->fetchAll();
    $no =$mulai+1;
?>
<?php foreach ($data as $value): ?>
<tr>
      <td><?php echo $no++; ?></td>                  
      <td><?php echo $value['nama_kat']; ?></td> 
<?php               
  endforeach;
  ?>

【问题讨论】:

    标签: php mysql pdo pagination


    【解决方案1】:

    这是一个简单的分页方法:

    <?php
    $limit = 2;
    $query = "SELECT count(*) FROM kategori";
    
    $s = $db->query($query);
    $total_results = $s->fetchColumn();
    $total_pages = ceil($total_results/$limit);
    
    if (!isset($_GET['page'])) {
        $page = 1;
    } else{
        $page = $_GET['page'];
    }
    
    
    
    $starting_limit = ($page-1)*$limit;
    $show  = "SELECT * FROM kategori ORDER BY id DESC LIMIT ?,?";
    
    $r = $db->prepare($show);
    $r->execute([$starting_limit, $limit]);
    
    while($res = $r->fetch(PDO::FETCH_ASSOC)):
    ?>
    <h4><?php echo $res['id'];?></h4>
    <p><?php echo $res['nama_kat'];?></p>
    <hr>
    <?php
    endwhile;
    
    
    for ($page=1; $page <= $total_pages ; $page++):?>
    
    <a href='<?php echo "?page=$page"; ?>' class="links"><?php  echo $page; ?>
     </a>
    
    <?php endfor; ?>
    

    【讨论】:

    • 试试这样的事情。你很快就会学到这一点。根据您的需要进行修改。并注意它容易受到 Sql 注入的影响,不要在您的生产站点中使用它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多