Maison >développement back-end >tutoriel php >php文章列表分页代码怎么写?
$sql = "SELECT * FROM `links` WHERE `subdomain` != '' ORDER BY id desc LIMIT 100";$rows = $db->getData($sql);foreach($rows as $row){ echo '<li><a href="http://'.$row['subdomain'].'.abc.com/" title="'.$row['title'].'">'.$row['title'].'</a></li>';}
直接找个分页函数应用就可以了。
大约参数如下:
1 总数
2 当前页
3 每页数量
4 baseUrl,你所说的title及subdomain都以GET方式传送。
5 显示页面数量
class CCustomWidgets { public static function Pager($totalPages, $pageNumber, $pageSize, $url, $displayNumber = 6) { $baseUrl = (strpos($url, "?") === false) ? $url.'?page=' : $url.'&page='; $pager = '<div class="pager"><ul>'; $prevPage = $pageNumber - 1; if($prevPage > 0){ $pager .= '<li><a href="'.$baseUrl. $prevPage.'"><span class="pager-previous">��页</span></a></li>'; } if($totalPages - $pageNumber < $displayNumber) { $displayStart = ($totalPages >= $displayNumber) ? ($totalPages - $displayNumber + 1) : 1; $displayEnd = $totalPages; }else{ if($pageNumber % $displayNumber){ $displayStart = floor($pageNumber / $displayNumber) * $displayNumber + 1; $displayEnd = (floor($pageNumber / $displayNumber) + 1) * $displayNumber; }else{ $displayStart = (floor(($pageNumber / $displayNumber) - 1)) * $displayNumber + 1; $displayEnd = (floor($pageNumber / $displayNumber)) * $displayNumber; } } for(; $displayStart <= $displayEnd; $displayStart++) { $pager .= '<li><a href="'.$baseUrl.$displayStart.'"><span '.(($pageNumber == $displayStart) ? 'class="active"' : '').'>'.$displayStart.'</span></a></li>'; } if($pageNumber < $totalPages){ $pager .= '<li><a href="'.$baseUrl. ($pageNumber + 1) .'"><span class="pager-next">��页</span></a></li>'; } $pager .= "</ul></div>"; return $pager; }}
如果你的分页要在数据库上做的话 这两个字段不够啊,你只有标题和文章的一部分。 你至少还要标识出这个domain是文章的第几段/页 还有就是标识文章的id 标题是能够重复的
就是分页逻辑复杂点
主要使用sql的limi语句来分页,传两参,一个起始页,一个每页显示数目。
前台时,如果不用无刷,可以用地址get数值到页面,然后根据get的值改变内容。
做无刷,就把页码$.post到Action,再在action里处理。
然后回调函数替换div内容。