Я делаю страницу с продуктами и рядом с моей разбивкой по страницам. Я хочу показать количество элементов на странице.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 в приведенном выше коде, будет оценена. Спасибо.
Я считаю, что на последней странице, то '$ last' переменная должна держать результаты num_rows , который является '$ total_records'. Для всех остальных случаев используйте '$ first + $ num_rec_per_page' –
У вас нет' $ limit' или '$ page', определенных в этом скрипте (который используется в' $ first') – MasterOdin
На боковой ноте - станьте знакомый с mysqli как можно скорее, он намного более новый и безопасный, чем mysql. –