好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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="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\" ?>"."\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";   $ xml Str.= "\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. type num=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";    $ xml Str.= "\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";    $ xml Str.= "\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";    head er("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动态载入与分页的详细内容...

  阅读:41次