include_once("smarty.class.php");
class smartyproject extendssmarty { 함수 __construct() {
$this->config_dir="smarty/smarty/config_file.class.php";
$this->caching=false;
$this->template_dir = "smarty/templates/";
$this->cache_dir = "smarty/smarty_cache/";
$ this->left_delimiter = "{";
$this->right_delimiter = "}";
}
}
?>
复主代码
2,adodb,连接数据库类:
class conndb
{
var $dbtype;
var $host;
var $user;
var $ pwd;
var $dbname;
var $debug;//false不显示侦错信息,反之,显示
var $conn;
function __construct($dbtype,$host,$user, $pwd,$dbname,$debug=false)
{
$this->dbtype = $dbtype;
$this->host = $host;
$this->user = $user;
$this->pwd = $pwd;
$this->dbname = $dbname;
$this->debug = $debug;
}
//사용 가능한 정보(个人理解可以说返回adodb对象)
function getconnid()
{
include_once('adodb5/adodb.inc.php');
만약에 ($this->dbtype == "mysql" || $this->dbtype == "mssql")
{
if($this->dbtype == "mysql")
{
$this->conn = newadoconnection("mysql");//创建adodb对象,声明数据库类型为mysql
}
else
{
$this->conn = newadoconnection("mssql");
}
$this->conn->connect($this->host,$this->user,$this->pwd,$this- >dbname);
}
else if($this->dbtype == "access")
{
$this->conn = newadoconnection("access") ;
$this->conn->connect("driver={microsoft 액세스 드라이버(*.mdb)};dbq=".$this->dbname.";uid=".$this-> ;user.";pwd=".$this->pwd.";");
}
$this->conn->execute("이름 설정 utf-8") ;
if($this->dbtype == "mysql")
{
$this->conn->debug = $this->debug;
}
return $this->conn;
}
function closeconnid()//关闭与数据库的连接
{
$this->conn->disconnection( );
}
}
复主代码
3,数据库操작类:
class admindb
{
var $sqlstr;
var $conn;
var $sqltype;
var $ rs;
var $array;
함수 execsql($sqlstr,$conn)
{
$rs = $conn->execute($sqlstr);
$sqltype = strtolower( substr(trim($sqlstr),0,6)); //strtolower() 函数把字符串转换为小写。
if($sqltype = "select")
{
$array = $rs->getrows(); // 类似mysql_fetch_array函数返回的数组
if(count($array) == 0 || $rs == false)
{
return false;
}
else
{
$array 반환;
}
}
else if($sqltype = "update"||$sqltype = "insert"||$sqltype = "delete")
{
if($rs)
{
true를 반환;
}
else
{
false를 반환;
}
}
}
}
复代码
4, 구분:
클래스 페이지
{
var $rs;
var $pagesize;
var $ nowpage;
var $array;
var $conn;
var $sqlstr;
function showdate($sqlstr,$conn,$pagesize,$nowpage)
{
if( !isset($nowpage)||$nowpage=="")
{
$nowpage = 1 ;
}
else
{
$this->nowpage = $ nowpage;
}
$this->pagesize = $pagesize;
$this->conn = $conn;
$this->sqlstr = $sqlstr;
$this ->rs = $this->conn->pageexecute($this->sqlstr,$this->pagesize,$this->nowpage);
//pageexecute($sql, $nrows , $page, $inputarr=false) 使用资料集的页码功能,叁数 $page 是以 1 为启使值
$this->array = $this->rs->getrows();
if(count($this->array) == 0 || $this->rs == false)
{
return false;
}
else
{
return $this->array;
}
}
function showpage($contentname,$utits,$anothersearchstr,$class)
{
$allrs=$this->conn->execute($this->sqlstr);
$record=count($allrs->getrows());
$pagecount=ceil($record/$this->pagesize);
$str.="共有".$contentname." ". $record." ".$utits." 每页显示 ".$this->pagesize." ".$utits." 第 ".$this->rs ->absolutepage()." 页/共 ".$pagecount." 页";
$str.=" ";
if(!$this->rs->atfirstpage())
{
$str.="首页 ";
}
else
{
$str.="首页 ";
}
$str.=" ";
if(!$this->rs->atfirstpage())
{
$str.="rs->absolutepage()-1).$anothersearchstr." class=".$class.">上一页 ";
}
else
{
$str.="上一页 ";
}
$str.=" "; p>
if(!$this->rs->atlastpage())
{
$str.="rs->absolutepage() 1).$anothersearchstr." class=".$class.">下一页 ";
}
else
{
$str.="下一页 ";
}
$str.=" ";
if(!$this->rs->atlastpage())
{
$str.="尾页 ";
}
else
{
$str.="尾页 ";
}
if(count($this->array)==0 || $this->rs==false)
{
return "";
}
else
{
return $str;
}
}
}
复代码
5. 기사 문자 변환 처리를 위한 클래스:
class usefun
{
function unhtml($text)
{
$content=(nl2br(htmlspecialchars($text)));//htmlspecialchars() 함수는 미리 정의된 일부 문자를 html 엔터티로 변환하고, nl2br() 함수는 문자열의 각 새 줄(/n) 앞에 삽입합니다. html 개행 문자(< br />).
$content=str_replace("[strong]","$content=str_replace("[/strong]"," ",$content);
$content=str_replace("[em]","",$content);
$content=str_replace("[/em]" ,"",$content);
$content=str_replace("[u]","",$content);
$content=str_replace("[/u ]","",$content);
$content=str_replace("[font color=#ff0000]","", $content);
$content=str_replace("[font color=#00ff00]","",$content);
$content=str_replace("[font color= #0000ff]","",$content);
$content=str_replace("[fontface=楷体_gb2312]","",$content);
$content=str_replace("[fontface=宋体]","",$content);
$content=str_replace(" [글꼴 얼굴=공식 스크립트]","<글꼴 얼굴=공식 스크립트>",$content);
$content=str_replace("[/font]","",$content) ;
//$content=str_replace(chr(32)," ",$content);
$content=str_replace("[font size=1]","", $ content);
$content=str_replace("[font size=2]","",$content);
$content=str_replace("[font size=3] " ,"",$content);
$content=str_replace("[font size=4]","",$content);
$ content=str_replace("[글꼴 크기=5]","<글꼴 크기=5>",$content);
$content=str_replace("[글꼴 크기=6]","<글꼴 크기 = 6>",$content);
$content=str_replace("[fieldset][legend]","
",$content);
$content=str_replace("[/legend]","",$content);
$content=str_replace("[/fieldset]","", $ content);
return $content;
}
}
코드 복사
위 생성 네 개의 모든 클래스는 하나의 클래스 파일 system.class.inc.php에 배치됩니다.
몇 가지 추가 파일:
1. 시스템.inc.php:
session_start();
include_once("smarty_inc.php"); include_once("system.class.inc.php"); //데이터베이스 연결 클래스 인스턴스화 $connobj = new conndb("mysql","localhost","root","vertrigo"," db_fenye ",false); $conn = $connobj->getconnid();
//데이터베이스 작업 클래스 인스턴스화
$admindb = new admindb();
//페이징 클래스 인스턴스
$seppage=new seppage();
//인스턴스화를 위해 공통 함수 클래스 사용
$usefun=new usefun();
//smarty 템플릿 호출
$smarty=new smartyproject ();
함수 unhtml($params)
{
extract($params);
$text=$content;
global $usefun;
return $usefun-> text);
}
$smarty->register_function("unhtml","unhtml");
?>
코드 복사
2、执行文件、index.php:
include_once("system.inc.php"); $arraybbstell = $admindb->execsql(" tb_bookinfo",$conn)에서 * 선택;
if(!$arraybbstell)
{
$smarty->ass("isbbstell","t");
}
else
{
$smarty->할당("isbbstell",t);
$smarty->할당("arraybbstell",$arraybbstell);
}
$arraybbs = $ seppage->showdate("select * from tb_bookinfo",$conn,1,$_get["page"]);
if(!$arraybbs)
{
$smarty->할당( "isbbs",f);
}
else
{
$smarty->ass("isbbs",t);
$smarty->assip(" showpage",$seppage->showpage("帖子","条","","a1"));
$smarty->asse("arraybbs",$arraybbs);
}
$smarty->display("index.html");
?>
复system代码
3、解析文件,index.html:
页模
{if $isbbs=="t"}
图书名称
图书内容
出版日期
图书作者
{php}
$i=1;
{/php}
{section name=bbsid loop=$arraybbs}
{unhtml content=$arraybbs[bbsid].bookname}
{$arraybbs[bbsid].bookintro}
{$arraybbs[bbsid].booktime}
{$arraybbs[bbsid].bookauthor}
{php}
$i ;
{/php}
{/섹션}
<표 너비 ="96%" height="5" border="0" align="center" cellpadding="0" cellpacing="0">
< 테이블 너비="100%" 높이="22" border="0" align="center" cellpadding="0" cellpacing="0">
{$showpage}
테이블>
{/if}
{if $isbbstell=="f" && $isbbs=="f" }
< ;tr>
{ldelim}暂时没有内容{rdelim} 글꼴>
{/if}