这个代码写得很不好,,1. 程序和界面完全混在一起 2. 执行了3次查询数据库操作3. 用字段名做表头,很容易就让别人看到你的数据库结构可以把数据库查询和分页操作作成2个函数,单独成一个文件或者写在页面最下面,,这样页面就分成了2块最上面的代码段[处理逻辑] 和下面的模板显示段[显示界面]$info["totalpage"])?$info["totalpage"]:$page);//当前页码$info["prepage"]=$info["page"]-1;//上一页$info["nextpage"]=$info["page"]+1;/下一页//上面的$info主要是方便前台自行处理 一般可以不用//生成本页数据//这里要计算数据的临时起点$temp=($info["page"]-1)*$pagesize;$sql="SELECT count(*) AS total FROM $table WHERE $where $order LIMIT $temp,$pagesize";//执行sql,取得结果存入$res$result["info"]=$info;//分页信息$result["page"]=page($info["page"],$pagesize,$total);//分页html代码$result["list"]=$res;//本页数据return $result;}function page($page,$pagesize,$total)//$page当前页 $pagesize页大小 $total总量 返回分页html字符串{ $totalpage=ceil($total/$pagesize);//总页码 $homehtml='';//首页代码 $prehtml='';//上一页代码,,,需要判断上一页存在不存在 $nexthtml='';//下一页代码,,需要判断下一页存在不存在 $endhtml='';//尾页代码 $pagehtml='';//页数字代码 $html='
require是引入文件
程序开头引入了一些文件,看文件名像是一些数据库链接类,数据库操作类,公共函数类,数据缓存类,语言包。
然后链接数据库$link=db_connect();
实例化数据库操作类$empire=new mysqlquery();
从数据库中取得数据$pr=$empire->fetch1("select sitekey,siteintro from {$dbtbpre}enewspublic limit 1");
将取得的数据用htmlspecialchars函数转码
$pagetitle=htmlspecialchars($public_r['sitename']);
$pagekey=htmlspecialchars($pr['sitekey']);
$pagedes=htmlspecialchars($pr['siteintro']);
生成页面数据
$url="".$fun_r['index']."";//栏目导航
$indextemp=GetIndextemp();//取得模板
$string=DtNewsBq('indexpage',$indextemp,0);
$string=str_replace('[!--newsnav--]',$url,$string);//位置导航
$string=ReplaceSvars($string,$url,0,$pagetitle,$pagekey,$pagedes,$addr,0);
$string=str_replace('[!--page.stats--]','',$string);
输出页面echo stripSlashes($string);
关闭数据库链接db_close();
注销数据库操作类实例$empire=null;
这段代码 是 连接数据 读取数据 复制 标签变量。。模版替换 标签。
如果修改首页,直接修改
$pr=$empire->fetch1("select sitekey,siteintro from {$dbtbpre}enewspublic limit 1");
//页面
$pagetitle=htmlspecialchars($public_r['sitename']);
$pagekey=htmlspecialchars($pr['sitekey']);
$pagedes=htmlspecialchars($pr['siteintro']);
$url="".$fun_r['index']."";//栏目导航