打开inc/artic_function.php
把function ListThisSort($rows,$leng=50){的函数代码换成:
==========================
function ListThisSort($rows,$leng=50){
global $page,$fid,$fidDB,$webdb,$pre,$Fid_db;
if($page<1){
$page=1;
}
$min=($page-1)*$rows;
if($fidDB[listorder]==1){ //发布时间
$DESC='DESC';
$ORDER='A.posttime';
}elseif($fidDB[listorder]==2){
$DESC='ASC';
$ORDER='A.posttime';
}elseif($fidDB[listorder]==3){ //浏览最多
$DESC='DESC';
$ORDER='A.hits';
}elseif($fidDB[listorder]==4){
$DESC='ASC';
$ORDER='A.hits';
}elseif($fidDB[listorder]==5){
$DESC='DESC';
$ORDER='A.lastview';
}elseif($fidDB[listorder]==7){ //顶次数
$DESC='DESC';
$ORDER='A.digg_num';
}elseif($fidDB[listorder]==8){ //顶时间
$DESC='DESC';
$ORDER='A.digg_time';
}elseif($fidDB[listorder]==9){ //评论最多
$DESC='DESC';
$ORDER='A.comments';
}elseif($fidDB[listorder]==10){ //收藏最多
$DESC='DESC';
$ORDER='A.collection';
}elseif($fidDB[listorder]==6){
$DESC='DESC';
$ORDER='rand()';
}else{
$DESC='DESC';
$ORDER='A.list';
}
if(!$webdb[viewNoPassArticle]){
$SQL_yz=' AND A.yz=1 ';
}
if($fid){
$_fid_sql=" AND A.fid=$fid ";
}else{
$_fid_sql=" AND 1 ";
}
$erp=$Fid_db[iftable][$fid]?$Fid_db[iftable][$fid]:"";
$SQL="A LEFT JOIN {$pre}reply$erp R ON A.aid=R.aid WHERE R.topic=1 $_fid_sql $SQL_yz ORDER BY $ORDER $DESC LIMIT $min,$rows";
$which='A.*,R.content';
$listdb=list_article($SQL,$which,$leng,$erp);
return $listdb;
}
在do目录新建一个countlist.php 代码如下:
==========================
<?php
require_once(dirname(__FILE__)."/"."global.php");
//显示多少篇
$rows=20;
if($job=='hits'){
$fidDB[listorder]=3; //浏览最多
}
elseif($job=='comment'){
$fidDB[listorder]=9; //评论最多
}
elseif($job=='collection'){
//增加collection-收藏文章次数的字段
if( !table_field("{$pre}article",'collection') )
{
$db->query("ALTER TABLE `{$pre}article` ADD `collection` MEDIUMINT( 7 ) NOT NULL");
}
//统计和写入被收藏文章的数据
$querycollection = $db->query("SELECT * FROM {$pre}article WHERE yz=1 ORDER BY aid DESC");
while($rs=$db->fetch_array($querycollection)){
@extract($db->get_one("SELECT COUNT(id) AS MUCH FROM {$pre}collection WHERE aid=$rs[aid]"));
$rs[much]=$MUCH;
$db->query("UPDATE {$pre}article SET collection='$rs[much]' WHERE aid='$rs[aid]' ");
}
$fidDB[listorder]=10; //收藏最多
}
elseif($job=='digg'){
$fidDB[listorder]=7; //顶次数最多
}else{
$fidDB[listorder]=1; //发布时间
}
$listdb=ListThisSort($rows); //文章列表
$showpage=getpage("{$pre}article","WHERE yz=1","?",$rows); //分页
require(ROOT_PATH."inc/head.php");
require(html("countlist")); //模板文件名
require(ROOT_PATH."inc/foot.php");
//伪静态处理
if($webdb[NewsMakeHtml]==2)
{
$content=ob_get_contents();
ob_end_clean();
ob_start();
$content=fake_html($content);
echo "$content";
}
?>
再新建countlist.htm在对应风格模板目录下,默认在template/default, 代码如下:
==========================
<!--
<?php
print <<<EOT
-->
<table width="100%" border="0" cellspacing="0" cellpadding="0" align="center" class="MainTable">
<tr>
<td width="100%" height="393" valign="top" class="Main">
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="dragTable">
<tr>
<td class="head">
<h3 class="L"></h3>
<span class="TAG"><a href="aboutme.php">发布时间</a> <a href="?job=hits">浏览最多</a> <a href="?job=comment">评论最多</a> <a href="?job=collection">收藏最多</a> <a href="?job=digg">被顶最多</a></span>
<h3 class="R"></h3>
</td>
</tr>
<tr>
<td class="middle">
<!--
EOT;
foreach($listdb AS $key=>$rs){
$target=$rs[target]?'_blank':'_self';
print <<<EOT
--> <table width="100%" border="0" cellspacing="0" cellpadding="0" >
<tr>
<td class="title"><a href="bencandy.php?fid=$rs[fid]&id=$rs[aid]" target="$target" title='$rs[full_title]'><b>$rs[title]</b></a> --- ({$rs[posttime]})</td>
</tr>
</table>
<!--
EOT;
}
print <<<EOT
-->
<div class="page">$showpage</div>
</td>
</tr>
<tr>
<td class="foot">
<h3 class="L"></h3>
<h3 class="R"></h3>
</td>
</tr>
</table>
</td>
</tr>
</table>
<!--
EOT;
?>
-->
修改风格,就可以实现如如下效果。