0
我想在前端分頁我的數據庫博客文章。分頁不工作在MSSQL + PHP
這裏是代碼。
<h2>Blogs</h2>
<?php
$limite = 2;
$pg = (isset($_GET['pg'])) ? (int)$_GET['pg'] : 1;
$inicio = ($pg * $limite) - $limite;
$lastRow = $inicio + $limite;
$total = 0;
include_once('includes/db-connect.php');
$sql = "SELECT * FROM (SELECT *, ROW_NUMBER() OVER (ORDER BY Pk_blog_id) as row FROM dbo.tb_IEAG_Blogs) a WHERE row between ".$inicio." and ".$lastRow."";
$a2 = sqlsrv_query($conn,$sql);
$sqlcounter = "SELECT Pk_blog_id,Blog_title,Blog_content FROM dbo.tb_IEAG_Blogs WHERE Is_archived = 0 ";
$acounter = sqlsrv_query($conn,$sqlcounter);
while ($result1 = sqlsrv_fetch_array($acounter)) {
$totalintable++;
}
?>
<?php while($result = sqlsrv_fetch_array($a2)){ ?>
<div class="media">
<div class="media-body">
<h3 class="media-heading"><?php echo $result['Blog_title'];?></h3>
<p><i class="fa fa-calendar"></i><?php echo date('F d, Y',strtotime($result['Created_at']));?></p>
<p><?php echo substr($result['Blog_content'], 0, 280) . '...'; ?></p>
</div>
<a class="btn rm-blg" href="blog-details.php?pkid=<?php echo $result['Pk_blog_id'];?>">Read More</a>
</div>
<?php } ?>
<?php $qtdPag = ceil($totalintable/$limite);
if($qtdPag > 1 && $pg <= $qtdPag)
{
?>
<nav class="text-center">
<ul class="pagination">
<li>
<a href="#" aria-label="Previous" class="next">
<span ><img src="images/prev.png" alt=""></span> Previous
</a>
</li>
<?php
for($i = 1; $i <= $qtdPag; $i++)
{
if($i == $pg){
echo "<li><a class='ative'>".$i."</a></li>";
} else {
echo "<li><a href='blog.php?pg=$i'>".$i."</a></li>";
}
}
?>
<li>
<a href="#" aria-label="Next" class="prevs"> Next
<span ><img src="images/next.png" alt=""></span>
</a>
</li>
</ul>
</nav>
<?php } ?>
我得到分頁鏈接,但它是不正確的。
我將每頁限制爲2篇博文。
表總排是6
第一頁是工作好,去第二頁時,其顯示三個記錄每頁。
我該如何解決這個問題..
感謝
是否Fi的末尾結果第一頁顯示爲第二頁上的第一個結果? – ImClarky