php和xml的動態載入與分頁

來源:互聯網
上載者:User
這篇文章主要介紹了關於php和xml的動態載入與分頁,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

這是在看太平洋網的評論時看到的,太平洋網是用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">          <p 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)">      </p> </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不久,很多地方還是不很懂.見笑了......

以上就是本文的全部內容,希望對大家的學習有所協助,更多相關內容請關注topic.alibabacloud.com!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.