显示z条目的x到y

时间:2012-09-14 04:20:36

标签: php smarty

我添加类似于"显示11个条目中的1到10个" "显示11个条目中的11到11个"搜索结果页面。

$listing_search.listings_per_page = 10
$listing_search.current_page = 2
$listings_number = 11

我无法获得正确的公式。 。请分享一些亮点。

[[Showing ]] {if $listing_search.current_page == 1}1{else}{$listing_search.listings_per_page+1} {/if}
[[ to ]] {$listing_search.listings_per_page}[[ of ]] {$listings_number} {if $listings_number == 1}[[ Job]]{else}[[ Jobs]]{/if}

有关第3,4页等的任何建议吗?是同一个公式吗?

我只能测试11个条目。这是我编辑的内容。

{assign var="current_page" value = $listing_search.current_page}
{assign var="listings_per_page" value = $listing_search.listings_per_page}
{math assign="first_page" equation="(cp - 1) * lpp + 1" cp=$current_page   lpp=$listings_per_page }
{math assign="last_page" equation="(cp  * lpp)" cp=$current_page lpp=$listings_per_page }

<div class="" id="DataTables_Table_1_info">[[Showing ]] {if $first_page}{$first_page}  {else}[[1]]{/if} [[to]] {if $last_page <= $listings_number}{$last_page}{else}  {$listings_number}{/if}
[[of]] {$listings_number} {if $listings_number == 1}[[ Job]]{else}[[ Jobs]]{/if}</div>

2 个答案:

答案 0 :(得分:0)

公式如下:

listings_per_page = 10
current_page = 2
listings_number = 11  (I would call this total_listings or something like that)

first_listing = listings_per_page * (current_page - 1) + 1
max_last_listing = (listings_per_page * current_Page)
last_listing = (max_last_listing > total_listings) ? total_listings : max_last_listing

会使first_listing == 11 最后一个列表将是20或最大值,以较小者为准。

答案 1 :(得分:0)

  • 当前页面的开头:(current_page-1)*listings_per_page +1
  • 当前页面的结尾:current_page*listings_per_pagelistings_number(以较小者为准)