xml+php动态载入与分页

xml+php动态载入与分页

转自:动态网制作指南 www.knowsky.com

这是在看太平洋网的评论时看到的,太平洋网是用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不久,很多地方还是不很懂.见笑了...... 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值