Php Paginator,如何使第一页和最后一页保持静态,并在它们之间放置点
所以我需要这样的东西: 上一篇。。。5 6 7 8 ... 56下一个 这是我的看法:Php Paginator,如何使第一页和最后一页保持静态,并在它们之间放置点,php,html,css,zend-framework,pagination,Php,Html,Css,Zend Framework,Pagination,所以我需要这样的东西: 上一篇。。。5 6 7 8 ... 56下一个 这是我的看法: <?php if ($this->pageCount>1):?> <div class="paginator"> <!-- Ссылка на предыдущую страницу --> <?php if (isset($this->previous)): ?> <a class="next" href="<?php ec
<?php if ($this->pageCount>1):?>
<div class="paginator">
<!-- Ссылка на предыдущую страницу -->
<?php if (isset($this->previous)): ?>
<a class="next" href="<?php echo $this->url(array( 'id' => $this->element_id,'sortby'=>$this->sortby,'page' => $this->previous), $this->route.'_pagination'); ?>">
<?=$this->translator()->_('previous');?>
</a>
<?php endif; ?>
<!-- Нумерованные ссылки на страницы -->
<?php foreach ($this->pagesInRange as $page): ?>
<?php if ($page != $this->current): ?>
<a class="numbers" href="<?php echo $this->url(array( 'id' => $this->element_id,'sortby'=>$this->sortby, 'page' => $page), $this->route.'_pagination'); ?>">
<?php echo $page; ?>
</a>
<?php else: ?>
<a class="active" href="#"><?php echo $page; ?></a>
<?php endif; ?>
<?php endforeach; ?>
<!-- Ссылка на следующую страницу -->
<?php if (isset($this->next)): ?>
<a class="prev" href="<?php echo $this->url(array( 'id' => $this->element_id,'sortby'=>$this->sortby,'page' => $this->next), $this->route.'_pagination'); ?>">
<?=$this->translator()->_('next');?>
</a>
<?php endif; ?>
</div>
<?php endif; ?>
现在我有了这样的东西:
上一篇2 3 4 5下一篇
我不知道如何将其更改为:
上一篇。。。5 6 7 8 ... 56下一个
请帮忙 您可以使用我自己创建的分页类,其中只更改第一次和最后一次更改的名称,也可以更改一些模式。 另外,如果您对如何使用该课程有疑问,请与我联系。
如果您愿意替换分页类并使用新的分页类,此类将完全满足您的要求:
您可以从下面的脚本获得帮助,我在其中主要用于分页工作 page.php
<?php
include('db_connect.php'); // include your code to connect to DB.
$page_id = isset($_GET['page_id']) ? $_GET['page_id'] : 1;
$tbl_name="city"; //your table name
$records_per_page = 5;
/* Pagination Starts here */
$query = "SELECT * FROM $tbl_name";
$result= mysql_query($query);
if($page_id==1)
{
$start_id=0;
$end_id=$records_per_page;
}
else
{
$start_id=$records_per_page*($page_id-1);
$end_id=$records_per_page*$page_id;
}
$start_limit = mysql_num_rows($result)-1 - $start_id;
if($end_id>mysql_num_rows($result))
$end_limit = 0;
else
$end_limit = mysql_num_rows($result)-$end_id;
$select_limit=$start_limit-$end_limit+1;
for ($i = $start_limit,$j=0; $i >= $end_limit; $i--,$j++)
{
if(!mysql_data_seek($result, $i))
{
echo "Cannot seek to row $i: " . mysql_error() . "\n";
continue;
}
if (!($row = mysql_fetch_assoc($result)))
{
continue;
}
// your code to print data, i have echo city name from city table.
echo $row['city_name'].'<br>';
}
if(mysql_num_rows($result))
{
$temp=(int)(mysql_num_rows($result)/$records_per_page);
if($temp< (ceil((mysql_num_rows($result)/$records_per_page))))
$total_pages=ceil((mysql_num_rows($result)/$records_per_page));
else if($temp==floor((mysql_num_rows($result)/$records_per_page)))
$total_pages=floor((mysql_num_rows($result)/$records_per_page));
echo '<div class="pagination">';
if($page_id==1)
{
echo '<span class="disabled" title="First Page"><<</span>';
echo '<span class="disabled" title="Previous Page"><</span>';
}
else
{
echo '<a href="page.php?page_id=1" title="First Page"><<</a>';
echo '<a href="page.php?page_id='.($page_id-1).'" title="Previous Page"><</a>';
}
if($page_id<=5)
$min = $page_id;
else
$min = $page_id-5;
if($total_pages<($page_id+5))
$max = $total_pages;
else
$max = $page_id+5;
while($min<=$page_id)
{
if($min==$page_id)
echo '<span class="current" title="Current Page">'.$page_id.'</span>';
else
{
echo '<a href="page.php?page_id='.$min.'" title="Page '.$min.'">'.$min.'</a>';
}
$min++;
}
$i = $page_id +1;
while($i<=$max)
{
echo '<a href="page.php?page_id='.$i.'" title="Page '.$i.'">'.$i.'</a>';
$i++;
}
if($page_id==$total_pages)
{
echo '<span class="disabled" title="Next Page">></span>';
echo '<span class="disabled" title="Last Page">>></span>';
}
else
{
echo '<a href="page.php?page_id='.($page_id+1).'" title="Next Page">></a>';
echo '<a href="page.php?page_id='.$total_pages.'" title="Last Page">>></a>';
}
echo '</div>';
}
?>
<?php
include('db_connect.php'); // include your code to connect to DB.
$page_id = isset($_GET['page_id']) ? $_GET['page_id'] : 1;
$tbl_name="city"; //your table name
$records_per_page = 5;
/* Pagination Starts here */
$query = "SELECT * FROM $tbl_name";
$result= mysql_query($query);
if($page_id==1)
{
$start_id=0;
$end_id=$records_per_page;
}
else
{
$start_id=$records_per_page*($page_id-1);
$end_id=$records_per_page*$page_id;
}
$start_limit = mysql_num_rows($result)-1 - $start_id;
if($end_id>mysql_num_rows($result))
$end_limit = 0;
else
$end_limit = mysql_num_rows($result)-$end_id;
$select_limit=$start_limit-$end_limit+1;
for ($i = $start_limit,$j=0; $i >= $end_limit; $i--,$j++)
{
if(!mysql_data_seek($result, $i))
{
echo "Cannot seek to row $i: " . mysql_error() . "\n";
continue;
}
if (!($row = mysql_fetch_assoc($result)))
{
continue;
}
// your code to print data, i have echo city name from city table.
echo $row['city_name'].'<br>';
}
if(mysql_num_rows($result))
{
$temp=(int)(mysql_num_rows($result)/$records_per_page);
if($temp< (ceil((mysql_num_rows($result)/$records_per_page))))
$total_pages=ceil((mysql_num_rows($result)/$records_per_page));
else if($temp==floor((mysql_num_rows($result)/$records_per_page)))
$total_pages=floor((mysql_num_rows($result)/$records_per_page));
echo '<div class="pagination">';
if($page_id==1)
{
echo '<span class="disabled" title="First Page"><<</span>';
echo '<span class="disabled" title="Previous Page"><</span>';
}
else
{
echo '<a href="page.php?page_id=1" title="First Page"><<</a>';
echo '<a href="page.php?page_id='.($page_id-1).'" title="Previous Page"><</a>';
}
if($page_id<=5)
$min = $page_id;
else
$min = $page_id-5;
if($total_pages<($page_id+5))
$max = $total_pages;
else
$max = $page_id+5;
while($min<=$page_id)
{
if($min==$page_id)
echo '<span class="current" title="Current Page">'.$page_id.'</span>';
else
{
echo '<a href="page.php?page_id='.$min.'" title="Page '.$min.'">'.$min.'</a>';
}
$min++;
}
$i = $page_id +1;
while($i<=$max)
{
echo '<a href="page.php?page_id='.$i.'" title="Page '.$i.'">'.$i.'</a>';
$i++;
}
if($page_id==$total_pages)
{
echo '<span class="disabled" title="Next Page">></span>';
echo '<span class="disabled" title="Last Page">>></span>';
}
else
{
echo '<a href="page.php?page_id='.($page_id+1).'" title="Next Page">></a>';
echo '<a href="page.php?page_id='.$total_pages.'" title="Last Page">>></a>';
}
echo '</div>';
}
?>
div.pagination {
padding: 3px;
margin: 3px;
}
div.pagination a {
padding: 2px 5px 2px 5px;
margin: 2px;
border: 1px solid #AAAADD;
text-decoration: none; /* no underline */
color: #000099;
}
div.pagination a:hover, div.pagination a:active {
border: 1px solid #000099;
color: #000;
}
div.pagination span.current {
padding: 2px 5px 2px 5px;
margin: 2px;
border: 1px solid #000099;
font-weight: bold;
background-color: #000099;
color: #FFF;
}
div.pagination span.disabled {
padding: 2px 5px 2px 5px;
margin: 2px;
border: 1px solid #EEE;
color: #DDD;
}