类文件:_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)?>

php xml 留言板,php xml留言板 xml存储数据的简单例子相关推荐

  1. php做一个留言回复,php实现留言板功能的方法

    本文主要介绍了php实现留言板功能的步骤方法解析.具有很好的参考价值.下面跟着小编一起来看下吧 简单的PHP留言板制作 做基础的留言板功能 需要三张表: 员工表,留言表,好友表 首先造一个登入页面: ...

  2. uniapp 微信小程序留言板+动态显示新增留言

    功能介绍:实现一个留言板的显示,以及留言后可以动态显示. 话不多说,let's start ! 先上页面(略丑,非重点) 上页面代码(头像图片暂且写死的): <view class=" ...

  3. Java实战 SpringBoot 网站开发 留言管理、网站后台留言管理模块、后台网站用户运营数据管理开发。

    <QA不加班 > 前言 Java SpringBoot 网站实战开发 留言管理.网站后台留言管理模块.后台网站用户运营数据管理开发. Java 网站开发网站运营后台管理和用户留言板功能后端 ...

  4. PHP留言并展示_留言页面展示功能

    上一节提到的ajax无刷新来做添加功能代码如下: 需要引入jquery文件 去掉表单修改message.php代码:<?php //加载方法 var page=1; var num=4; $(f ...

  5. 订阅号留言功能开通之留言小程序

    都2022年了,再来谈谈拥有一个属于自己的留言板小程序的必要性,特别是想多和粉丝进行互动的号主朋友,为了增加与粉丝的粘性,为了让公众号变得有点灵性,还是有必要有一个自己的留言功能的,而且需要一个稳定可 ...

  6. Line 2 in XML document from class path resource [applicationConfigMoNi.xml] is invalid; nested exce

    Exception in thread "main" org.springframework.beans.factory.xml.XmlBeanDefinitionStoreExc ...

  7. java xml中的冒号_Java jdom解析xml文件带冒号的属性

    Java jdom解析xml文件带冒号的属性 如果xml文件解析带了冒号的属性,一般都是要特别处理,这里是命名空间,N年前遇到过一次忘记记录,后来也忘了,这次再记录下. 解决了,记录下,分享给大家,百 ...

  8. android dimensions.xml,[Android Studio #2] 操作資源XML檔

    利用Android Studio產生出第一個程式後,點擊Project按鈕觀察專案的目錄結構,再研究資源檔的使用方法,同時在第一個程式畫面裡增加另一個文字元件. Android Studio的專案目錄 ...

  9. java的log4j的xml配置_Log4j配置实例(log4j.xml)

    一个完整的xml配置文件(propertities文件功能不全,不能使用过滤器,并且个人认为xml格式比较清晰,易读). 附带测试程序. Java代码 importjava.net.URL; impo ...

最新文章

  1. 养成一个习惯需要多久?
  2. 如何通过自动增加索引,实现数据库查询耗时降低50%
  3. 预防SQL注入攻击之我见 转
  4. GroupBy()方法
  5. 六一儿童节,老师带了很多好吃的巧克力到幼儿园。每块巧克力j的重量为w[j],对于每个小朋友i,当他分到的巧克力大小达到h[i] (即w[j]=h[i]),他才会上去表演节目
  6. docker 定时重启脚本_群晖docker容器定时自动重启
  7. Windows密码设置及破解
  8. mapabc高德地图区域收缩事件监听
  9. 动态添加、删除文本框
  10. springBoot项目中yml文件${REDIS_HOST:127.0.0.1}写法解析
  11. 微信计算机控制技术试卷,微型计算机控制技术试卷答案A.doc
  12. Pytorch版本代码修正
  13. Perl中的单行注释和多行注释
  14. Qt调用exit()、quit()不生效问题
  15. 全国计算机等级考试试题研究组,全国计算机等级考试试题研究组
  16. 计算机理论导引 试卷,计算机理论导引实验————ADFA的可判定性
  17. Vue的基本知识——wsdchong
  18. 火车订票系统属于哪方面的计算机应用,客机、火车订票系统属于()。 - 问答库...
  19. GPS北斗定位模块如何购买到好用的
  20. Arduino学习(五) 蜂鸣器实验

热门文章

  1. 【Codeforces Round #519 by Botan Investments D】Mysterious Crime
  2. item系列内置方法重构类
  3. Cheatsheet: 2014 03.01 ~ 03.31
  4. Sublime 自定义格式化快捷键
  5. 关于sliverlight4 打印功能
  6. [转载] JavaParser 无法解析链式调用的问题
  7. [译] 通过官网 Go 语言学习笔记 | How to Write Go Code
  8. 2016 Bird Cup ICPC7th@ahstu--“波导杯”安徽科技学院第七届程序设计大赛
  9. IOS用标签显示滑块的值
  10. linux shell 递归统计代码行数