$ this->config_dir="smarty/smarty/config_file.class.php"; $this->caching=false; $this->template_dir = "smarty/templates/"; $this-> ache_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->construct($dbtype,$host,$user,$pwd,$dbname,$debug=false) host = $host;
- $this->user = $user;
- $this->pwd = $pwd;
- $this->dbname = $dbname;
- $this->debug = $debug;
- }
- //データベース接続を実装し、接続オブジェクトを返します(個人的な理解ではadodbオブジェクトを返すと言えます)
- function getconnid()
- {
- include_once('adodb5/adodb.inc.php');
- if($ 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 access driver (*.mdb)};dbq=". $this->dbname.";uid=".$this->user.";pwd=".$this->pwd.";");
- }
-
- $this->conn-> ;execute("set names utf-8");
-
- if($this->dbtype == "mysql")
- {
- $this->conn->debug = $this->debug;
- }
- return $this ->conn;
-
- }
- function closeconnid()//データベースへの接続を閉じます
- {
- $this->conn->disconnection();
- }
- }
-
-
- Copyコード
-
-
- 3、データベース操作クラス:
-
-
-
-
-
- class admindb
{ var $sqlstr; var $conn; var $sqltype; var $rs; var $array; function execsql($sqlstr,$conn) { $rs = $conn->execute($sqlstr); $sqltype = strto lower(substr(trim($sqlstr),0,6)); //strto lower() 関数は文字列を小文字に変換します。 - if($sqltype = "select")
- {
- $array = $rs->getrows(); // mysql_fetch_array 関数によって返される配列と同様
- if(count($array) == 0 || $ rs == false)
- {
- return false;
- }
- else
- {
- return $array;
- }
- }
- else if($sqltype = "update"||$sqltype = "insert"||$sqltype = " delete")
- {
- if($rs)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- }
- }
-
-
-
- コードをコピー
-
-
4、分页类:
-
-
class seppage
- {
- 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->配列) == 0 || $this->rs == false)
- {
- return false;
- }
- else
- {
- return $this->array;
- }
-
- }
- < ;p>関数 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.="absolutepage()-1).$anothersearchstr." class=".$class.">上一页";
- }
- else
- {
- $str.="< font color='#555555'>上一页";
- }
- $str.=" ";
if(!$this->rs->atlastpage())
- {
- $str.="absolutepage()+1).$anothersearchstr." class=".$class.">次の一页";
- }
- else
- {
- $str.="< font color='#555555'>下一页";
- }
- $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 改行文字 (
) を挿入します。
$content=str_replace("[strong]","",$content);- $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("[font face=混体_gb2312]","",$content);
- $content=str_replace("[font face=混体_gb2312]","< ; font face=新宋体>",$content);
- $content=str_replace("[font face=公式スクリプト]","",$content);
- $content=str_replace (" [/font]","
",$content); - //$content=str_replace(chr(32)," ",$content);
- $content=str_replace("[フォント サイズ=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("[font size=5]","",$content);
- $content=str_replace("[font size=6]", "",$content);
$content=str_replace("[フィールドセット][凡例]","<フィールドセット><凡例>",$ content) ;
- $content=str_replace("[/legend]","",$content);
- $content=str_replace("[/fieldset]","",$ content) ;
- return $content;
- }
- }
-
-
コードをコピー
上記の 4 つのクラスをすべて 1 つのクラス ファイル system.class.inc.php. に配置します。
さらにいくつかのファイル:
1.system.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();
- function unhtml($params)
- {
- extract($params);
- $text=$content;
- global $usefun;
- return $usefun->unhtml($text );
- }
$smarty->register_function("unhtml","unhtml");
- ?>
-
-
コードをコピーします 2、実行文書、index.php:
-
- include_once("system.inc.php");
- $arraybbstell = $admindb->execsql("select * from tb_bookinfo",$conn);
- if(!$arraybbstell )
- {
- $smarty->assign("isbbstell","t");
- }
- else
- {
- $smarty->assign("isbbstell","t);
- $smarty->assign(" arraybbstell",$arraybbstell);
- }
- $arraybbs = $seppage->showdate("select * from tb_bookinfo",$conn,1,$_get["page"]);
- if(!$arraybbs)
- {
- $smarty->assign("isbbs",f);
-
- }
- else
- {
- $smarty->assign("isbbs",t);
- $smarty->assign("showpage",$ seppage->showpage("帖子","条","","a1"));
- $smarty->assign("arraybbs",$arraybbs);
- }
- $smarty->display(" index.html");
- ?>
复制代
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}
- {/section}
|
-
-
-
|
-
- < ;/table>
-
-
- < td bgcolor="#ffffff"><表幅="100%" 高さ="23" border="0" align="center" cellpadding="0" cellpacing="1" bgcolor="#ffffff"> ;
-
-
<表の幅="100%" 高さ="22" border="0" align="center" cellpadding="0" cellpacing=" 0">
-
-
{$showpage} |
-
-
|
- < ;/tr>
-
|
-
-
- {/if}
- {if $isbbstell=="f" && $isbbs=="f" }
-
- {/if}
|
|
|