php xml 留言板,php xml留言板 xml存储数据的简单例子

类文件:_class.xmldb.inc.php

复制代码代码如下:

classxmldbextendsDOMDocument{

var$xmldb;

publicfunction__construct($xmldbname){

$this->xmldb=$xmldbname;

if(!file_exists($this->xmldb)){

$initxmldb="<?xmlversion ="1.0"encoding="utf-8"?>";

$this->loadXML($initxmldb);

$this->save($this->xmldb);

}else{

$this->load($this->xmldb);

}

}

publicfunctioninsert_message($nickname,$message){

$messagedom=$this->getElementsByTagName("Message");

$subnode=$this->createElement("Rows");

$nicknamenode=$this->createElement("Nickname");

$nicknamenode->appendChild($this->createTextNode($nickname));

$subnode->appendChild($nicknamenode);

$contentnode=$this->createElement("Content");

$contentnode->appendChild($this->createTextNode($message));

$subnode->appendChild($contentnode);

$timernode=$this->createElement("Timer");

$timernode->appendChild($this->createTextNode(time()));

$subnode->appendChild($timernode);

$messagedom->item(0)->appendChild($subnode);

$this->saveXML();

$this->save($this->xmldb);

}

functionget_node_length($nodename){

$odom=$this->getElementsByTagName($nodename);

return$odom->length;

}

publicfunctionget_message_list($start,$rowscount,$pagesize){

$end=$rowscount>$pagesize?$start+$pagesize:$rowscount;

$k=0;

for($i=$start;$i

$rowslist[$k]["Nickname"]=$this->getElementsByTagName("Nickname")->item($i)->nodeValue;

$rowslist[$k]["Content"]=$this->getElementsByTagName("Content")->item($i)->nodeValue;

$rowslist[$k]["Timer"]=$this->getElementsByTagName("Timer")->item($i)->nodeValue;

$k++;

}

return$rowslist;

}

publicstaticfunctionsplitpage($pageall,$page=1,$urled=null,$strpage="page",$pageaverage=10){

&nbsp

;$pageaverage-=1;

$page=intval($page>=1?$page:1);

$page=$page>$pageall?$pageall:$page;

$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($_GETas$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."";

else

$mess.="".$i."";

}

if($page

$mess.=" 下一页";

&nbs

p;$mess.=" 尾页";

}else{

$mess.=" 下一页";

$mess.=" 尾页";

}

return$mess;

}

}

?>

调用文件:index.php

复制代码代码如下:

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

$xmldb=newxmldb("./my_xmldb.xml");

if(isset($_POST["btnform1"])){

$xmldb->insert_message($_POST["nickname"],$_POST["content"]);

}

$pagesize=3;

$page=!empty($_GET['page'])?intval($_GET['page']):1;

$rowscount=$xmldb->get_node_length("Rows");

$pagecount=ceil($rowscount/$pagesize);

$start=($page-1)*$pagesize>$rowscount?$rowscount:($page-1)*$pagesize;

$rowslist=$xmldb->get_message_list($start,$rowscount,$pagesize);

?>

-//W3C//DTDHTML4.0Transitional//EN">

NewDocument

#messagelistulli{float:left;list-style-type:none;}

if(!empty($rowslist))

{

foreach($rowslistas$key=>$value)

{

echo"

  • ".$value["Nickname"]."(".date("Y-m-dH:i",$value["Timer"]).")";

echo"

".$value["Content"]."
";

}

}

?>

=$xmldb->splitpage($pagecount,$page,'','page',$pagesize)?>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值