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"

titlexml/title

/head

body

xml id="ShopList" src="xml.php"/xml

script

function jump(form)

{

if (form.pageNum.valueparseInt(pageCount.innerHTML)) return false;

if (form.pageSize.valueparseInt(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.valueparseInt(pageCount.innerHTML)) form.pageNum.value=parseInt(pageCount.innerHTML);

if (form.pageSize.valueparseInt(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')"

tda datafld="连接地址"span datafld="名称"名称/span/a/td

tdspan datafld="经营人"经营人/span/td

tdspan datafld="级别"级别/span/td

tdspan datafld="简介"简介/span/td

/tr

/tbody

/table

form return οnsubmit="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=首页 οnclick="pageNum.value=1"

input name=previousPage type=submit value=上页 οnclick="pageNum.value=pageNum.value-1"

第input name=pageNum datasrc=#ShopList datafld=页号码 size=2页

input name=nextPage type=submit value=下页 οnclick="pageNum.value=(pageNum.value-0)+1"

input name=lastPage type=submit value=尾页 οnclick="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\" ?"."\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);

/*while($result = $this-db-Assoc()){

$xmlStr.= "\t"."\n";

$xmlStr.= "\t商铺"."\n";

$xmlStr.= "\t\t名称![CDATA[".$result['shopname']."]]/名称"."\n";

$xmlStr.= "\t\t经营人![CDATA[".$result['shopmaster']."]]/经营人"."\n";

$xmlStr.= "\t\t级别![CDATA[".$result['shoptype']."]]/级别"."\n";

$xmlStr.= "\t\t简介![CDATA[".$result['shopintro']."]]/简介"."\n";

$xmlStr.= "\t\t连接地址![CDATA[personal_shop.php?id=".$result['id']."]]/连接地址"."\n";

$xmlStr.= "\t/商铺"."\n";

}*/

$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不久,很多地方还是不很懂.见笑了......

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值