欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【xml+php动态载入与分页】,下面是详细的分享!
xml+php动态载入与分页
这是在看太平洋网的评论时看到的,太平洋网是用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=http://www.chinaz.com/program/2009/0316/"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=http://www.chinaz.com/program/2009/0316/"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=http://www.chinaz.com/program/2009/0316/69642.shtml#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=http://www.chinaz.com/program/2009/0316/69642.shtml#ShopList datafld=页大小 size=2>条,
<input type=submit value="" style="width:0">
共<span id="pageCount" datasrc=http://www.chinaz.com/program/2009/0316/69642.shtml#ShopList datafld=页数量></span>页
<span id="recordCount" datasrc=http://www.chinaz.com/program/2009/0316/69642.shtml#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=http://www.chinaz.com/program/2009/0316/69642.shtml#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=http://www.chinaz.com/program/2009/0316/69642.shtml#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){
$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\" ?>"."\n";
$xmlStr.="<商铺列表>"."\n";
$xmlStr.="\t<翻页工具 pageNo=\"".$vars['pageNo']."\" pageSize=\"".$vars['pageSize']."\" total=\"".$RecordCount."\"></翻页工具>"."\n";
$xmlStr.="\t<页号码>".$vars['pageNo']."</页号码>"."\n";
$xmlStr.="\t<页大小>".$vars['pageSize']."</页大小>"."\n";
$xmlStr.="\t<数量>".$RecordCount."</数量>"."\n";
$xmlStr.="\t<页数量>".$PageCount."</页数量>"."\n";
//$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);
$sc=$vars['pageNo']*$vars['pageSize'];
if ($sc>$RecordCount) $sc=$RecordCount;
for($i=($vars['pageNo']-1)*$vars['pageSize'];$i<$sc;$i++){
$xmlStr.="\t"."\n";
$xmlStr.="\t<商铺>"."\n";
$xmlStr.="\t\t<名称><![CDATA[这是名称:".$i."]]></名称>"."\n";
$xmlStr.="\t\t<经营人><![CDATA[这是经营人:".$i."]]></经营人>"."\n";
$xmlStr.="\t\t<级别><![CDATA[这是级别:".$i."]]></级别>"."\n";
$xmlStr.="\t\t<简介><![CDATA[这是简介:".$i."]]></简介>"."\n";
$xmlStr.="\t\t<连接地址><![CDATA[personal_shop.php?id=".$i."]]></连接地址>"."\n";
$xmlStr.="\t</商铺>"."\n";
}
$xmlStr.="</商铺列表>"."\n";
header("Content-type: text/xml\n\n");
echo $xmlStr;
}
}
$shoplist=new shoplist_res($vars,$HTTP_COOKIE_VARS);
//$shoplist->_shoplist_res();
unset($sthoplist);
?>
以上的php,注释的是我连接数据库取得的数据,既然放上来测试,也没有数据库连接,所以改了一下.偶也是刚接解xml不久,很多地方还是不很懂.见笑了......
以上所分享的是关于xml+php动态载入与分页,下面是编辑为你推荐的有价值的用户互动:
相关问题:我的php页面代码如下,效果如下,请问如何添加分页...
答:帮你解决这个问题有报酬没有埃如果有,还是有兴趣给你指点一下。报酬不求多高 意思一下 就行。有意私信我埃 >>详细
相关问题:php 新闻内容显示页面分页怎么写?
答:不确定正确性,但是确实可行,读取缓存后赋值到数组,通过array_slice函数处理,如: $blog = S('blogname'); //赋值 $count = count($blog); //条数统计 $page = new Page($count,12); //实例化page类 $this -> Blog = array_slice($blog,$page... >>详细
相关问题:thinkphp框架,数据动态缓存后,读取缓存数据时分...
答:/** * 分页函数 * * @param $num 信息总数 * @param $curr_page 当前分页 * @param $perpage 每页显示数 * @param $urlrule URL规则 * @param $array 需要传递的数组,用于增加额外的方法 * @return 分页 */function pages($num, $curr_page, $p... >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
