xml php動態載入與分頁_PHP教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:40個優化php代碼的技巧
      40條優化php代碼的小實例 1.如果一個方法能被靜態,那就聲明他為靜態的,速度可提高1/4; 2.echo的效率高于print,因為echo沒有返回值,print返回一個整型; 3.在循環之前設置循環的最大次數,而非在在循環中; 4.銷毀變量去釋放內存,特別是大的數組; 5.避免使

      這是在看太平洋網的評論時看到的,太平洋網是用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";
      $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如何構建語義Web CRUD
      創建、讀、更新和刪除(Create/Read/Update/Delete,CRUD)操作是最基本的數據庫操作,但是它們也是最重要的操作。CRUD 操作通常是使用關系數據庫系統中的結構化查詢語言(Structured Query Language,SQL)完成的。隨著 Web 變得更加具有面向數據特性,因此

      來源:模板無憂//所屬分類:PHP教程/更新時間:2009-05-15
      相關PHP教程