我在官方论坛发表了帖子,见http://bbs.emlog.net/thread-39927-1-1.html
结果大多数人说需要进入数据库里面删除或者操作,这个明显不够现实。
贴下来大家看看。
/**
* 分页函数
*
* @param int $count 条目总数
* @param int $perlogs 每页显示条数目
* @param int $page 当前页码
* @param string $url 页码的地址
*/
function pagination($count, $perlogs, $page, $url, $anchor = '') {
$pnums = @ceil($count / $perlogs);
$re = '';
$urlHome = preg_replace("|[\?&/][^\./\?&=]*page[=/\-]|", "", $url);
for ($i = $page - 5; $i <= $page + 5 && $i <= $pnums; $i++) {
if ($i > 0) {
if ($i == $page) {
$re .= " <span>$i</span> ";
} elseif ($i == 1) {
$re .= " <a href=\"$urlHome$anchor\">$i</a> ";
} else {
$re .= " <a href=\"$url$i$anchor\">$i</a> ";
}
}
}
if ($page > 6)
$re = "<a href=\"{$urlHome}$anchor\" title=\"首页
\">«</a><em>...</em>$re";
if ($page + 5 < $pnums)
$re .= "<em>...</em> <a href=\"$url$pnums$anchor\" title=\"尾页
\">»</a>";
if ($pnums <= 1)
$re = '';
return $re;
}
打开一看。发现一个后台获取文章列表函数,太好了。
/**
* 后台获取文章列表
*
* @param string $condition
* @param string $hide_state
* @param int $page
* @param string $type
* @return array
*/
function getLogsForAdmin($condition = '', $hide_state = '', $page = 1,
$type = 'blog') {
$timezone = Option::get('timezone');
$perpage_num = Option::get('admin_perpage_num');
$start_limit = !empty($page) ? ($page - 1) * $perpage_num : 0;
$author = ROLE == ROLE_ADMIN ? '' : 'and author=' . UID;
$hide_state = $hide_state ? "and hide='$hide_state'" : '';
$limit = "LIMIT $start_limit, " . $perpage_num;
$sql = "SELECT * FROM " . DB_PREFIX . "blog WHERE type='$type'
$author $hide_state $condition $limit";
$res = $this->db->query($sql);
$logs = array();
while ($row = $this->db->fetch_array($res)) {
$row['date'] = gmdate("Y-m-d H:i", $row['date'] +
$timezone * 3600);
$row['title'] = !empty($row['title']) ?
htmlspecialchars($row['title']) : '无标题';
//$row['gid'] = $row['gid'];
//$row['comnum'] = $row['comnum'];
//$row['top'] = $row['top'];
//$row['attnum'] = $row['attnum'];
$logs[] = $row;
}
return $logs;
}
$limit = "LIMIT $start_limit, " . $perpage_num;
应该就是控制数量的,干脆我就把它修改成了