xml+php动态载入与分页
作者:bea
这是在看太平洋网的评论时看到的,太平洋网是用jsp做为后台语言,用来产生xml文件.然后在把数据绑定到html上的.我就用php也做了一个以下是源文件.-----------------xml.htm------------------<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html>&l
这是在看太平洋网的评论时看到的,太平洋网是用jsp做为后台语言,用来产生xml文件.然后在把数据绑定到html上的.我就用php也做了一个以下是源文件.
-----------------xml.htm------------------<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>xml</title></head>
<body><xml id="ShopList" src="xml.php"></xml><script> function jump(form) { if (form.pageNum.value>parseInt(pageCount.innerHTML)) return false; if (form.pageSize.value>parseInt(recordCount.innerHTML)) return false; ShopList.src="xml.php?pageNo="+form.pageNum.value+"&pageSize="+form.pageSize.value+"&time="+(new Date()).getTime(); } function pageCount_onpropertychange(form) { if (form.pageNum.value>parseInt(pageCount.innerHTML)) form.pageNum.value=parseInt(pageCount.innerHTML); if (form.pageSize.value>parseInt(recordCount.innerHTML)) form.pageSize.value=parseInt(recordCount.innerHTML); if(form.pageNum.value==1) { form.firstPage.disabled=true; form.previousPage.disabled=true; } else { form.firstPage.disabled=false; form.previousPage.disabled=false; } if(form.pageNum.value==form.pageCount.value) { form.nextPage.disabled=true; form.lastPage.disabled=true; } else { form.nextPage.disabled=false; form.lastPage.disabled=false; } }</script> <table width="100%" height="25" border="0" cellpadding="2" cellspacing="1" id="shopTbl" datasrc=#ShopList datafld=商铺> <thead> <tr> <td height="25" colspan="4"><span class="shop_3d_text">店铺列表</span></td> </tr> <tr> <td width="30%">商铺名称</td> <td width="20%">经营者</td> <td width="20%">店铺级别</td> <td width="30%">店铺简介</td> </tr> </thead> <tbody> <tr STYLE="background-color:expression(rowIndex%2==1?'#EFEFEF':'#FFFFFF')"> <td><a datafld="连接地址"><span datafld="名称">名称</span></a></td> <td><span datafld="经营人">经营人</span></td> <td><span datafld="级别">级别</span></td> <td><span datafld="简介">简介</span></td> </tr> </tbody> </table> <form return onsubmit="jump(this);return false"> <div align="right"> 每页显示<input name=pageSize datasrc=#ShopList datafld=页大小 size=2>条, <input type=submit value="" style="width:0"> 共<span id="pageCount" datasrc=#ShopList datafld=页数量></span>页 <span id="recordCount" datasrc=#ShopList datafld=数量 ></span>条 <input name=firstPage type=submit value=首页 onclick="pageNum.value=1"> <input name=previousPage type=submit value=上页 onclick="pageNum.value=pageNum.value-1"> 第<input name=pageNum datasrc=#ShopList datafld=页号码 size=2>页 <input name=nextPage type=submit value=下页 onclick="pageNum.value=(pageNum.value-0)+1"> <input name=lastPage type=submit value=尾页 onclick="pageNum.value=pageCount.value" > <input name=pageCount type=hidden datasrc=#ShopList datafld=页数量 onpropertychange="pageCount_onpropertychange(form)"> </div> </form></body></html>
-----------------xml.php------------------<?php//require_once "Source/Global.php"; function getVars($get_vars, $post_vars) {
$i = count($get_vars); $j = count($post_vars); if ($i > 0 && $j > 0 ) { while(list($key, $val) = each($get_vars)) { $Vars[$key] = $val; } while(list($key2, $val2) = each($post_vars)) { $Vars[$key2] = $val2; } } elseif ($i > 0) { while(list($key, $val) = each($get_vars)) { $Vars[$key] = $val; } } elseif ($j > 0) { while(list($key2, $val2) = each($post_vars)) { $Vars[$key2] = $val2; } } else { $Vars = array(); } return $Vars; }
$vars = getVars($HTTP_GET_VARS, $HTTP_POST_VARS);
//class shoplist_res extends iGlobal{class shoplist_res{ function shoplist_res($vars,$cookie){ //$this->iGlobal($vars,$cookie); $this->outPut($vars,$cookie); }
//function _shoplist_res(){ // $this->db->Close(); //} function outPut($vars,$cookie){ /*$strQuery = "select count(*) as rc from ".$this->db_c->Db_Pre."pshop order by id desc"; $this->db->Query($strQuery); $RecordCount = $this->db->Assoc(); $RecordCount = $RecordCount['rc']; @$this->db->freeResult();*/ $RecordCount = 25; if (empty($vars['pageNo'])) $vars['pageNo']= 1; if (empty($vars['pageSize'])) $vars['pageSize']= 10; $PageCount = ceil($RecordCount/$vars['pageSize']); if ($vars['pageSize']>$RecordCount) $vars['pageSize']=$RecordCount; if ($vars['pageNo']>$PageCount) $vars['pageNo']=$PageCount; $xmlStr.= "<?xml version="1.0" encoding="GBK" ?>"."
"; $xmlStr.= "<商铺列表>"."
"; $xmlStr.= " <翻页工具 pageNo="".$vars['pageNo']."" pageSize="".$vars['pageSize']."" total="".$RecordCount.""></翻页工具>"."
"; $xmlStr.= " <页号码>".$vars['pageNo']."</页号码>"."
"; $xmlStr.= " <页大小>".$vars['pageSize']."</页大小>"."
"; $xmlStr.= " <数量>".$RecordCount."</数量>"."
"; $xmlStr.= " <页数量>".$PageCount."</页数量>"."
"; //$strQuery = "select t1.*,t2.* from ".$this->db_c->Db_Pre."pshop as t1,".$this->db_c->Db_Pre."shoptype as t2 where t1.typenum=t2.typenum order by id desc " // ."limit ".($vars['pageNo']-1)*$vars['pageSize'].",".$vars['pageSize']; //die($strQuery); //$this->db->Query($strQuery); /*while($result = $this->db->Assoc()){ $xmlStr.= " "."
"; $xmlStr.= " <商铺>"."
"; $xmlStr.= " <名称><![CDATA[".$result['shopname']."]]></名称>"."
"; $xmlStr.= " <经营人><![CDATA[".$result['shopmaster']."]]></经营人>"."
"; $xmlStr.= " <级别><![CDATA[".$result['shoptype']."]]></级别>"."
"; $xmlStr.= " <简介><![CDATA[".$result['shopintro']."]]></简介>"."
"; $xmlStr.= " <连接地址><![CDATA[personal_shop.php?id=".$result['id']."]]></连接地址>"."
"; $xmlStr.= " </商铺>"."
"; }*/ $sc= $vars['pageNo']*$vars['pageSize']; if ($sc>$RecordCount) $sc = $RecordCount; for($i=($vars['pageNo']-1)*$vars['pageSize'];$i<$sc;$i++){ $xmlStr.= " "."
"; $xmlStr.= " <商铺>"."
"; $xmlStr.= " <名称><![CDATA[这是名称:".$i."]]></名称>"."
"; $xmlStr.= " <经营人><![CDATA[这是经营人:".$i."]]></经营人>"."
"; $xmlStr.= " <级别><![CDATA[这是级别:".$i."]]></级别>"."
"; $xmlStr.= " <简介><![CDATA[这是简介:".$i."]]></简介>"."
"; $xmlStr.= " <连接地址><![CDATA[personal_shop.php?id=".$i."]]></连接地址>"."
"; $xmlStr.= " </商铺>"."
"; } $xmlStr.= "</商铺列表>"."
"; header("Content-type: text/xml
"); echo $xmlStr; }}
$shoplist = new shoplist_res($vars,$HTTP_COOKIE_VARS);//$shoplist->_shoplist_res();unset($sthoplist);?>
以上的php,注释的是我连接数据库取得的数据,既然放上来测试,也没有数据库连接,所以改了一下.偶也是刚接解xml不久,很多地方还是不很懂.见笑了......
有用 | 无用
-----------------xml.htm------------------<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>xml</title></head>
<body><xml id="ShopList" src="xml.php"></xml><script> function jump(form) { if (form.pageNum.value>parseInt(pageCount.innerHTML)) return false; if (form.pageSize.value>parseInt(recordCount.innerHTML)) return false; ShopList.src="xml.php?pageNo="+form.pageNum.value+"&pageSize="+form.pageSize.value+"&time="+(new Date()).getTime(); } function pageCount_onpropertychange(form) { if (form.pageNum.value>parseInt(pageCount.innerHTML)) form.pageNum.value=parseInt(pageCount.innerHTML); if (form.pageSize.value>parseInt(recordCount.innerHTML)) form.pageSize.value=parseInt(recordCount.innerHTML); if(form.pageNum.value==1) { form.firstPage.disabled=true; form.previousPage.disabled=true; } else { form.firstPage.disabled=false; form.previousPage.disabled=false; } if(form.pageNum.value==form.pageCount.value) { form.nextPage.disabled=true; form.lastPage.disabled=true; } else { form.nextPage.disabled=false; form.lastPage.disabled=false; } }</script> <table width="100%" height="25" border="0" cellpadding="2" cellspacing="1" id="shopTbl" datasrc=#ShopList datafld=商铺> <thead> <tr> <td height="25" colspan="4"><span class="shop_3d_text">店铺列表</span></td> </tr> <tr> <td width="30%">商铺名称</td> <td width="20%">经营者</td> <td width="20%">店铺级别</td> <td width="30%">店铺简介</td> </tr> </thead> <tbody> <tr STYLE="background-color:expression(rowIndex%2==1?'#EFEFEF':'#FFFFFF')"> <td><a datafld="连接地址"><span datafld="名称">名称</span></a></td> <td><span datafld="经营人">经营人</span></td> <td><span datafld="级别">级别</span></td> <td><span datafld="简介">简介</span></td> </tr> </tbody> </table> <form return onsubmit="jump(this);return false"> <div align="right"> 每页显示<input name=pageSize datasrc=#ShopList datafld=页大小 size=2>条, <input type=submit value="" style="width:0"> 共<span id="pageCount" datasrc=#ShopList datafld=页数量></span>页 <span id="recordCount" datasrc=#ShopList datafld=数量 ></span>条 <input name=firstPage type=submit value=首页 onclick="pageNum.value=1"> <input name=previousPage type=submit value=上页 onclick="pageNum.value=pageNum.value-1"> 第<input name=pageNum datasrc=#ShopList datafld=页号码 size=2>页 <input name=nextPage type=submit value=下页 onclick="pageNum.value=(pageNum.value-0)+1"> <input name=lastPage type=submit value=尾页 onclick="pageNum.value=pageCount.value" > <input name=pageCount type=hidden datasrc=#ShopList datafld=页数量 onpropertychange="pageCount_onpropertychange(form)"> </div> </form></body></html>
-----------------xml.php------------------<?php//require_once "Source/Global.php"; function getVars($get_vars, $post_vars) {
$i = count($get_vars); $j = count($post_vars); if ($i > 0 && $j > 0 ) { while(list($key, $val) = each($get_vars)) { $Vars[$key] = $val; } while(list($key2, $val2) = each($post_vars)) { $Vars[$key2] = $val2; } } elseif ($i > 0) { while(list($key, $val) = each($get_vars)) { $Vars[$key] = $val; } } elseif ($j > 0) { while(list($key2, $val2) = each($post_vars)) { $Vars[$key2] = $val2; } } else { $Vars = array(); } return $Vars; }
$vars = getVars($HTTP_GET_VARS, $HTTP_POST_VARS);
//class shoplist_res extends iGlobal{class shoplist_res{ function shoplist_res($vars,$cookie){ //$this->iGlobal($vars,$cookie); $this->outPut($vars,$cookie); }
//function _shoplist_res(){ // $this->db->Close(); //} function outPut($vars,$cookie){ /*$strQuery = "select count(*) as rc from ".$this->db_c->Db_Pre."pshop order by id desc"; $this->db->Query($strQuery); $RecordCount = $this->db->Assoc(); $RecordCount = $RecordCount['rc']; @$this->db->freeResult();*/ $RecordCount = 25; if (empty($vars['pageNo'])) $vars['pageNo']= 1; if (empty($vars['pageSize'])) $vars['pageSize']= 10; $PageCount = ceil($RecordCount/$vars['pageSize']); if ($vars['pageSize']>$RecordCount) $vars['pageSize']=$RecordCount; if ($vars['pageNo']>$PageCount) $vars['pageNo']=$PageCount; $xmlStr.= "<?xml version="1.0" encoding="GBK" ?>"."
"; $xmlStr.= "<商铺列表>"."
"; $xmlStr.= " <翻页工具 pageNo="".$vars['pageNo']."" pageSize="".$vars['pageSize']."" total="".$RecordCount.""></翻页工具>"."
"; $xmlStr.= " <页号码>".$vars['pageNo']."</页号码>"."
"; $xmlStr.= " <页大小>".$vars['pageSize']."</页大小>"."
"; $xmlStr.= " <数量>".$RecordCount."</数量>"."
"; $xmlStr.= " <页数量>".$PageCount."</页数量>"."
"; //$strQuery = "select t1.*,t2.* from ".$this->db_c->Db_Pre."pshop as t1,".$this->db_c->Db_Pre."shoptype as t2 where t1.typenum=t2.typenum order by id desc " // ."limit ".($vars['pageNo']-1)*$vars['pageSize'].",".$vars['pageSize']; //die($strQuery); //$this->db->Query($strQuery); /*while($result = $this->db->Assoc()){ $xmlStr.= " "."
"; $xmlStr.= " <商铺>"."
"; $xmlStr.= " <名称><![CDATA[".$result['shopname']."]]></名称>"."
"; $xmlStr.= " <经营人><![CDATA[".$result['shopmaster']."]]></经营人>"."
"; $xmlStr.= " <级别><![CDATA[".$result['shoptype']."]]></级别>"."
"; $xmlStr.= " <简介><![CDATA[".$result['shopintro']."]]></简介>"."
"; $xmlStr.= " <连接地址><![CDATA[personal_shop.php?id=".$result['id']."]]></连接地址>"."
"; $xmlStr.= " </商铺>"."
"; }*/ $sc= $vars['pageNo']*$vars['pageSize']; if ($sc>$RecordCount) $sc = $RecordCount; for($i=($vars['pageNo']-1)*$vars['pageSize'];$i<$sc;$i++){ $xmlStr.= " "."
"; $xmlStr.= " <商铺>"."
"; $xmlStr.= " <名称><![CDATA[这是名称:".$i."]]></名称>"."
"; $xmlStr.= " <经营人><![CDATA[这是经营人:".$i."]]></经营人>"."
"; $xmlStr.= " <级别><![CDATA[这是级别:".$i."]]></级别>"."
"; $xmlStr.= " <简介><![CDATA[这是简介:".$i."]]></简介>"."
"; $xmlStr.= " <连接地址><![CDATA[personal_shop.php?id=".$i."]]></连接地址>"."
"; $xmlStr.= " </商铺>"."
"; } $xmlStr.= "</商铺列表>"."
"; header("Content-type: text/xml
"); echo $xmlStr; }}
$shoplist = new shoplist_res($vars,$HTTP_COOKIE_VARS);//$shoplist->_shoplist_res();unset($sthoplist);?>
以上的php,注释的是我连接数据库取得的数据,既然放上来测试,也没有数据库连接,所以改了一下.偶也是刚接解xml不久,很多地方还是不很懂.见笑了......
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- 利用文件属性结合Session实现在线人数统计
- PHP中上传大体积文件时需要的设置
- 新版PHP极大的增强功能和性能
- 用PHP开发GUI
- PHP中实现进程间通讯
- PHP利用COM对象访问SQLServer、Access
- 新版mysql+apache+php Linux安装指南
- Win2000+Apache+MySql+PHP4+PERL安装使用小结
- 用PHP将数据导入到Foxmail
- PHP 中的一些经验积累
- 详细介绍PHP应用提速面面观
- 基于PHP与XML的PDF文档生成技术
- 利用js调用后台php进行数据处理原码
- PHP初学者头疼问题总结
- php代码优化及php相关问题总结
- PHP数据库开发知多少
- 一次编写,随处运行
- PHPShop存在多个安全漏洞
- 配置最新的PHP加MYSQL服务器