⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 showall_xml.php

📁 无刷新技术AJAX,就是在不刷新网页的情况下更新网站内容
💻 PHP
字号:
<?php
header( "Content-type: text/html; charset=gbk");
header( "Expires: Mon, 26 Jul 1997 05:00:00 GMT" );
header( "Last-Modified: " . gmdate( "D, d M Y H:i:s" ) . " GMT" );
header( "Cache-Control: no-cache, must-revalidate" );
header( "Pragma: no-cache" );

?>
<?php
require("inc/header.inc");
?>
<div id="confirm" style="display:none;width:200px;height:100px;background-color:#77c;z-index:11;position:absolute;text-align:center;filter:alpha(opacity=80); -moz-opacity:0.80; opacity:0.80;" rel="drag" onmousedown="dargit(this,event);"></div>
<div id="mask" style="display:none;width:99% !important;width:100%;height:100%;background-color:gray;position:absolute;filter:alpha(opacity=40); -moz-opacity:0.40; opacity:0.40;z-index:10;">&nbsp;</div>
<h3>Ajax xmlhttp无刷新提交帖子实例:</h3><a href="test.php">返回发帖</a>
&nbsp;&nbsp;本例删除帖子采用Ajax处理XML数据的方式。
&nbsp;&nbsp;
<a href="showall_js.php" >查看/删除留言(Ajax/JS)</a>&nbsp;&nbsp;<b>查看/删除留言(Ajax/XML)</b>&nbsp;&nbsp;<a href="showall_normal.php" >查看/删除留言(传统)</a>
<style>
#ul{clear:both;border-top:1px solid gray;padding-bottom:20px;width:98%;padding:5px;}
#ul div{list-style-type:none;float:left;margin-right:10px;word-break:break-all;word-wrap:break-word;}
.del{width:10px;}
.uli0{width:10px;}.uli1{width:40px;}.uli2{width:150px}.uli3{width:30%}.uli4{width:80px;}.uli5{width:100px;}.uli6{width:50px;}.uli7{width:150px;}.uli8{width:50px;}.uli9{width:40px;}
.tip{background-color:green;color:white}
#tip{margin:4px 0 2px 0;line-height:18px;font-size:12px;}
#con table{border:1px solid blue;border-bottom:0;}
#con table tr{background-color:;}
#con table tr td{border-bottom:1px solid blue;padding:5px;font-size:12px;}
#con table tr td a{display:;width:100%;}
#confirm a{color:white}
#confirm .text{font-size:12px;color:white;margin:10px;}
.da{width:100%;height:20px;background-color:#000080;color:white;cursor:move;text-align:left}
.showall{color:blue;text-decoration:underline;cursor:hand;cursor:pointer}
.x{float:right;color:red;cursor:pointer;}
a{margin:1px;color:blue}
a:link{}
a:hover{background-color:#E3E2FE;;border-bottom:1px dashed blue;text-decoration:none}
</style>
<?php
require("login/login.php");
?>
<div id="tip" >&nbsp;&nbsp;</div>
<script src="js/drag.js"></script>
<script src="js/net.js"></script>
<script src="js/showmore.js"></script>
<script src="js/page.js"></script>
<script src="js/check.js"></script>
<script src="js/settable.js"></script>
<form action="action/delmessage_ajax.php" method="post" >
<div id="con">
</div>
</form>
<script>

/***********/
/*	cody by jarry
/*	http://jiarry.blogchina.com;
/***********/
String.prototype.trim = function()
{ return this.replace(/(^\s*)|(\s*$)/g, "");}
function $(id){
	var o=document.getElementById(id);
	if((o==null || typeof(o)=="undefined") && document.all)o=document.all.id;
	return o;
}

function closeconfirm(){
    $("confirm").style.display="none";
    $("mask").style.display="none";  
}


window.onresize=function(){
  if( $("confirm").style.display != "none" )setposition($("confirm"));
  //实时控制确认框的位置;
}
function del(obj){
   var params="";  //定义传递参数; 
   if( (obj == undefined || obj == null) && this.f){//如果是多选
     thisform = this.f; obj = "";  	
     var url=thisform.action;
     for(var i=0;i<thisform.elements.length;i++){
     var elem=thisform.elements[i];
      if(elem.checked == true){
        params +=( elem.name.trim() +"="+ elem.value.trim() + "&");	        
        obj += (parseInt(elem.value)+1);//显示的时候要加1
        obj += ",";//添加逗号
        }
      }

    	obj = obj.substring(0 ,obj.length-1);//去掉最后一个逗号;
    	params = params.substring(0 ,params.length-1);//去掉最后一个&;

      //alert(params);      
    	calldelete(params);return;//如果不需要确认提示的话;
    	
   	}else{//如果是直接删除
   	  params = obj; 
   	  obj = (obj +1 );//显示要加个1
   	}  

   function confirmit(){
   	    $("confirm").style.display="";
   	    $("mask").style.display="";
        setposition($("confirm"));    	      
        $("confirm").innerHTML=" <div class=\"da\"><span class=\"x\" title=\"关闭\">&nbsp;x&nbsp;</span>拖动区</div><div class=\"text\">您确定要删除第<b>"+ (obj)+"</b>条留言吗?</div><a href=\"javascript:calldelete('"+ params +"')\">确定</a>&nbsp;&nbsp;&nbsp;&nbsp;<a href=\"javascript:closeconfirm()\">取消</a>";        
   }
  confirmit();  
}
function deletemsg(){
	//alert(this.req.responseText);
	if(this.req.responseText.indexOf("deleteSuccessfully")!=-1)
	{
		 showtip("删除成功!");		
		 closeTip();closeconfirm();
		 showmsg();//重新获得留言;
	}
} 
function calldelete(params){
	var id = params;
  showtip("第 "+id+" 条记录删除中..");
  //alert(params);
	if(id.indexOf("&")!=-1){ //含有&符号说明是从多选递交来的;
 	  var d=new net.ContentLoader("action/delmessage_ajax.php",deletemsg,null,"POST",params,null);
  }else{//说明是直接点删除来的
		var d=new net.ContentLoader("action/delmessage_ajax.php?del=y&id="+id,deletemsg,null,"GET",null,null);
	}
}

function showtip(msg){  var t=$("tip");
	//alert(t.offsetTop+"||"+window.document.body.scrollTop);
	//t.style.position="absolute";
	//t.style.left = window.document.body.offsetWidth - 50;
	//t.style.left = window.document.body.offsetWidth - 140;
	//alert(window.document.body.offsetWidth +"-"+ 200);
	t.style.top=t.offsetTop>window.document.body.scrollTop?t.offsetTop:window.document.body.scrollTop;
	 t.innerHTML=msg;t.className="tip";
	  //alert(t.style.top);
	}   

//clear tips;
var tm=0;var start;
function closeTip(){
		 tm++;//超时关闭提示;
		 start = setTimeout(closeTip,200);
		  if(tm >= 5){
				clearTimeout(start);
		  	showtip("&nbsp;");tm = 0;
		    $("tip").className="";
		}
}

function cleanBR() {
	var area = document.getElementsByTagName('TEXTAREA');
	for (var i=0; i<area.length; i++) {
		area[i].value = area[i].value.replace(/<br \/>/ig, '');
		area[i].value = area[i].value.replace(/(\xA0\x20){4}/ig, '\t');
		area[i].value = area[i].value.replace(/\xA0\x20\xA0/ig, '   ');
		area[i].value = area[i].value.replace(/\xA0\xA0/ig, '  ');
	}
}

var selectit;//check对象
var pg = new showpages('pg');var pagesize=10,pagecount;
//调用pages.js里的页码函数;  ,每页显示条数,当前页,总页数;
function paresXml(xml,obj){
	 var message=new Array;
	 var xmldoc=xml.documentElement;
   var msg=xmldoc.getElementsByTagName("message");
   try{
	 for(var i=0;i<msg.length;i++){ 
	 	   for(var x=0; x< msg[i].childNodes.length;x++){
            message[i]=new Array;
	 	   	    //message[i][x]=msg[i].childNodes[x].firstChild.nodeValue;
						//$("con").innerHTML+=("message["+i+"]["+x+"]="+msg[i].childNodes[x].firstChild.nodeValue)+"<br>";
	 	   	    
	 	   	 var xmlci=msg[i];
	 	   	  message[i]={
	 	   	  	title:xmlci.childNodes[0].childNodes[0].nodeValue,
	 	   	  	contents:xmlci.childNodes[1].childNodes[0].nodeValue,
	 	   	  	user:xmlci.childNodes[2].childNodes[0].nodeValue,
	 	   	  	ip:xmlci.childNodes[3].childNodes[0].nodeValue,
	 	   	  	host:xmlci.childNodes[4].childNodes[0].nodeValue,
	 	   	  	time:xmlci.childNodes[5].childNodes[0].nodeValue,
	 	   	  	no:xmlci.childNodes[6].childNodes[0].nodeValue,
	 	   	  	id:xmlci.childNodes[7].childNodes[0].nodeValue
	 	   	  }
	 	   	}
	 	}
	 	
	 	  function getmax(){
  	     var number=xmldoc.getElementsByTagName("number");
  	     var pagetotal = number[0].childNodes[0].childNodes[0].nodeValue;
         pagecount = parseInt( ( parseInt(pagetotal) + pagesize-1 ) / pagesize );
         //总数为最大条数加每页显示数量减1再除以每页显示数量;  
        
         pg.pagecount = pagecount;
         var checkText ="";
				 checkText += "<label for=\"chkall\"><input type=\"checkbox\" id=\"chkall\" name=\"chkall\" onclick=\"selectit.checkall();\"><span style=\"color:blue;text-decoration:underline;cursor:pointer;cursor:hand\">全选</span></label>&nbsp;&nbsp;<span style=\"color:blue;text-decoration:underline;cursor:pointer;cursor:hand\" onclick=\"selectit.reverseCheck()\">反选</span>&nbsp;&nbsp;<span id=\"delAll\" style=\"color:blue;text-decoration:underline;cursor:pointer;cursor:hand\" onclick=\"selectit.subDelete(del)\">删除选中项</span>&nbsp;&nbsp;&nbsp;&nbsp;";
         var pgText = "<br>总记录:"+ pagetotal +" 总页数:"+ pagecount  +" 当前第:"+ pg.pageno +"页 ";
         pg.innerpages($("pages") , checkText ,pgText);  //生成页面并加入多选以及说明
                   
      }getmax();
	 	
	 	
	showtip("信息读取完成!"); 
	closeTip(); 
	}catch(ex){
	  	showtip("出现意外:"+ex); 
	}
	
	//delete first;
	if($("con").hasChildNodes()){//如果已经有表格就删除重新生成一个;
	  $("con").removeChild($("con").childNodes[0]);
	}
	if(message.length<=0){
		$("con").innerHTML="<br>暂时还没有留言,谢谢!";
    $("pages").innerHTML = "";//清空页码多选等;
    return;
	}
	function addChild(tr,n,o){
		tr.insertCell(n).appendChild(document.createTextNode(o));
	}
	var r=0;var c=0;
  var table=document.createElement("table");
  table.cellPadding="0";table.cellSpacing="0";
  table.width="100%";
  while(r<message.length){
  	var tr=table.insertRow(-1); 
  	var checkHTML = "<input type=\"checkbox\" name=\"id"+ (parseInt( message[r].id ) -1) +"\"  value=\" "+ (parseInt( message[r].id ) -1) +" \" onclick=\"selectit.clickchk();\">";
    tr.insertCell(0).innerHTML = checkHTML;  
    addChild(tr,1, "第" + message[r].id +"楼");	
    addChild(tr,2,message[r].title);  
		tr.insertCell(3).innerHTML=message[r].contents;//addChild(tr,3,message[r].contents);
		addChild(tr,4,message[r].user);
		addChild(tr,5,message[r].ip);
		addChild(tr,6,message[r].host);
		addChild(tr,7,message[r].time);
		addChild(tr,8,"编号:"+message[r].no);
		tr.insertCell(9).innerHTML="<a href=\"javascript:del("+ ( parseInt( message[r].id ) -1 ) +")\">删除</a>";
    r++;
   }
  for(var cols=0 ; cols<table.rows[0].cells.length;cols++){
  	table.rows[0].cells[cols].className = "uli"+cols;//设置td的class
  } 
  $("con").appendChild(table);
   setTrBg( $("con").childNodes[0] , 0 ,1);//设置tr背景色;
	selectit = selecttheForm;//声明多选;
	selectit.f = document.forms[0];
	selectit.chk = document.getElementById("chkall");

}


function showmsg(pgno){
	try{
		
	if(pgno != undefined ){
		pg.pageno = pgno;
   }

	showtip("信息载入中...");
  function getmsg(){
		var xmldoc=  this.req.responseXML;
		if(xmldoc.documentElement){
	    paresXml(xmldoc,$("con"));
	   }
  }
	//取第几页每页多少数据显示在这里;
  var url = "action/msgxml.php?num=" + pagesize + "&pageno=" + pg.pageno;
	var get = new net.ContentLoader(url,getmsg,null,"GET",null,null);
	//得到内容;	
 }catch(ex){
  alert(ex);
 }
}
function init(){
	showmsg();//载入时调用;
}
init();

</script>
<div id="pages">
</div>
<?php
require("inc/footer.inc");
?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -