applicationcontext.xml php XML メッセージ ボード XML データ ストレージの簡単な例

WBOY
リリース: 2016-07-29 08:40:35
オリジナル
869 人が閲覧しました

クラスファイル: _class.xmldb.inc.php

コードをコピーします コードは次のとおりです:


class xmldb extends DOMDocument{
var $xmldb;
パブリック関数 __construct($xmldbname){
$this->xmldb=$xmldbname;
if(!file_exists($this->xmldb)){
$initxmldb = "<メッセージ>";
$this->loadXML($initxmldb);
$this->save($this->xmldb);
}else{
$this->load($this->xmldb);
}
}
public function insert_message($nickname,$message){
$messagedom = $this->getElementsByTagName("Message");
$subnode = $this->createElement("Rows");
$nicknamenode = $this->createElement("ニックネーム");
$nicknamenode -> appendChild($this->createTextNode($nickname));
$subnode -> appendChild($nicknamenode);
$contentnode = $this->createElement("コンテンツ");
$contentnode -> appendChild($this->createTextNode($message));
$subnode -> appendChild($contentnode);
$timernode = $this->createElement("タイマー");
$timernode -> appendChild($this->createTextNode(time()));
$subnode -> appendChild($timernode);
$messagedom->item(0)->appendChild($subnode);
$this->saveXML();
$this->save($this->xmldb);
}
function get_node_length($nodename){
$odom = $this->getElementsByTagName($nodename);
$odom->length; を返す
}
パブリック関数 get_message_list($start,$rowscount,$pagesize){
$end = $rowscount > $ページサイズ ? $start+$pagesize : $rowscount;
$k = 0;
for($i = $start; $i < $end; $i++){
$rowslist[$k]["ニックネーム"] = $this->getElementsByTagName("ニックネーム")->item($ i)->ノード値;
$rowslist[$k]["コンテンツ"] = $this->getElementsByTagName("コンテンツ")->item($i)->nodeValue;
$rowslist[$k]["タイマー"] = $this->getElementsByTagName("タイマー")->item($i)->nodeValue;
$k++;
}
$rowslist を返す;
}
public static function splitpage($pageall,$page=1,$urled=null,$strpage = "ページ",$pageaverage = 10){
$pageaverage -= 1;
$page = intval($page >=1 ? $page : 1 );
$page = $page > $ページオール ? $pageall : $ページ;
$startpage = $page - $pageaverage > 0 ? $page - ceil(($pageaverage / 2)):1;
$startpage = ($page + ceil($pageaverage/2) > $pageall)?$pageall-$pageaverage:$startpage;
$startpage = $startpage > 0 ? $startpage : 1;
$stoppage = $startpage+$pageaverage >$pageall?$pageall:$startpage+$pageaverage;
if(empty($urlfile)){ $urlfile=$_SERVER["PHP_SELF"]; }
if(!strrpos($urlfile,'?')) $urled .= '?';
foreach($_GET as $k => $v)
{
$urled = ($k<>$strpage) ? $urled.$k.'='.urlencode($v).'&' : $urled;
}
if ($page>1){
$mess =" ";
$mess .="
上一页 ";
}else{
$mess ="首页 ";
$mess .="上一页 ";
}
if($page > 9){
$startpage = $page - 9;
}
$stoppage = $startpage + 9 >= $pageall ? $pageall : $startpage + 9;
for($i= $startpage; $i<= $stoppage ;$i++)
{
if($i<= $pageall && !($page==$i))
$mess .= "".$i."< /a> ";
else
$mess .= "".$i." ";
}
if ($page < $pageall){
$mess .="
次の一页";
$mess .=" ";
}Else {m $ MESS. = "次へ";
$ MESS. = "終了ページ";
コードをコピーします

コードは次のとおりです:



require( "_class.xmldb.inc.php");

$xmldb = new xmldb("./my_xmldb.xml");
$xmldb -> $_POST["ニックネーム"],$_POST["コンテンツ"]);
}

$pagesize = !empty($_GET['page']) ? ) : 1; $rowscount = $xmldb -> get_node_length("Rows") $start = ($page-1) $行数? $rowscount : ($page-1)*$pagesize; $rowslist = $xmldb -> get_message_list($start,$rowscount,$ pagesize);

gt;

gt;
(".date("Y-m-d H: i",$value["タイマー"]).")";
echo "}}? & lt & lt; & lt; & lt;? gt; splitpage($pagecount,$page,'','page',$pagesize)?> ;/div>
name = "form1" メッセージボード、ページネーションあり、参照のみ
上記では、applicationcontext.xml の内容を含む、php xml メッセージ ボード xml にデータを保存する簡単な例を紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。


ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート