我正在製作一個產品頁面,並且在我的分頁旁邊我想顯示每頁的商品數量。PHP如何在「顯示#件#件商品」中的最後一件商品計數
所以像「顯示1 - 10產品」的東西。
我想出瞭如何計算第一個項目編號,但我一直在搞清楚頁面上的最後一個項目。
因此,假設我每頁有10個項目並且總共有35個項目,第一頁將顯示「1-10」,下一頁將顯示「11-20」,並且下一個「21-30」和最後一頁將會顯示「31 - 35」。
<?php
//connect to the database
include_once ('includes/connect_to_mysql.php');
$category = urldecode ($_GET["cat"]); // get category for the current page from the URL
$page = (int) (!isset($_GET["page"]) ? 1 : $_GET["page"]);
$limit = 10;
$startpoint = ($page * $limit) - $limit;
$statement = "products WHERE active = 1 AND category = '$category'";
?>
<header>
<div class="paging">
Page: <?php
$sql = "SELECT * FROM products WHERE active = 1 AND category = '$category'";
$rs_result = mysql_query($sql); //run the query
$total_records = mysql_num_rows($rs_result); //count number of records
$num_rec_per_page = 10; //number of records per page
$total_pages = ceil($total_records/$num_rec_per_page);
for ($i=1; $i<=$total_pages; $i++) {
echo '<a href="categories.php?cat='.urlencode($category).'&page='.$i.'">'.$i.'</a> | ';
};
$first = ($page * $limit) - $limit +1;
$last = 'NOT SURE WHAT TO PUT HERE';
?>
</div>
<form action="#" >
<select onchange="javascript:addSort();" name="sortBy" id="sortBy">
<option value="">Default</option>
<option value="PriceHiLo">Price (High to Low)</option>
<option value="PriceLoHi">Price (Low to High)</option>
<option value="pID">Most Recent</option>
</select> Showing <?php echo $first?> - <?php echo $last?> of <?php echo $total_records?> Product(s)
</form>
</header>
任何幫助搞清楚如何計算在上面的代碼$最後,將不勝感激。謝謝。
我相信,在最後一頁中,'$ last'變量應持NUM_ROWS結果,它是'$ total_records'。對於所有其他情況,請使用'$ first + $ num_rec_per_page' –
您沒有在此腳本的任何位置定義'$ limit'或'$ page'(用於'$ first') – MasterOdin
在旁註中 - 成爲儘快熟悉mysqli,它比mysql更新更安全。 –