查看完整版本: xml+php动态载入与分页

lily 2007-8-1 22:28

xml+php动态载入与分页

             <p>这是在看太平洋网的评论时看到的,太平洋网是用jsp做为后台语言,用来产生<a href="http://www.phpchina.com/javascript:;" onClick="javascript:tagshow(event, 'xml');" target="_self"><u><strong>xml</strong></u></a>文件.然后在把数据绑定到<a href="http://www.phpchina.com/javascript:;" onClick="javascript:tagshow(event, 'html');" target="_self"><u><strong>html</strong></u></a>上的.我就用php也做了一个以下是源文件. <br><br>-----------------xml.htm------------------ <br>&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&gt; <br>&lt;html&gt; <br>&lt;head&gt; <br>&lt;meta http-equiv="Content-Type" content="text/html; charset=gb2312"&gt; <br>&lt;title&gt;xml&lt;/title&gt; <br>&lt;/head&gt; <br><br>&lt;body&gt; <br>&lt;xml id="ShopList" src="http://www.phpchina.com/xml.php"&gt;&lt;/xml&gt; <br>&lt;script&gt; <br>function jump(form) <br>{ <br>if (form.pageNum.value&gt;parseInt(pageCount.innerHTML)) return false; <br>if (form.pageSize.value&gt;parseInt(recordCount.innerHTML)) return false; <br>ShopList.src="http://www.phpchina.com/xml.php?pageNo="+form.pageNum.value+"&amp;pageSize="+form.pageSize.value+"&amp;time="+(new Date()).getTime(); <br>} <br>function pageCount_onpropertychange(form) <br>{ <br>if (form.pageNum.value&gt;parseInt(pageCount.innerHTML)) form.pageNum.value=parseInt(pageCount.innerHTML); <br>if (form.pageSize.value&gt;parseInt(recordCount.innerHTML)) form.pageSize.value=parseInt(recordCount.innerHTML); <br>if(form.pageNum.value==1) <br>{ <br>form.firstPage.disabled=true; <br>form.previousPage.disabled=true; <br>} <br>else <br>{ <br>form.firstPage.disabled=false; <br>form.previousPage.disabled=false; <br>} <br>if(form.pageNum.value==form.pageCount.value) <br>{ <br>form.nextPage.disabled=true; <br>form.lastPage.disabled=true; <br>} <br>else <br>{ <br>form.nextPage.disabled=false; <br>form.lastPage.disabled=false; <br>} <br>} <br>&lt;/script&gt; <br>&lt;table width="100%" height="25" border="0" cellpadding="2" cellspacing="1" id="shopTbl" datasrc=http://www.phpchina.com/#ShopList datafld=商铺&gt; <br>&lt;thead&gt; <br>&lt;tr&gt; <br>&lt;td height="25" colspan="4"&gt;&lt;span class="shop_3d_text"&gt;店铺列表&lt;/span&gt;&lt;/td&gt; <br>&lt;/tr&gt; <br>&lt;tr&gt; <br>&lt;td width="30%"&gt;商铺名称&lt;/td&gt; <br>&lt;td width="20%"&gt;经营者&lt;/td&gt; <br>&lt;td width="20%"&gt;店铺级别&lt;/td&gt; <br>&lt;td width="30%"&gt;店铺简介&lt;/td&gt; <br>&lt;/tr&gt; <br>&lt;/thead&gt; <br>&lt;tbody&gt; <br>&lt;tr STYLE="background-color:expression(rowIndex%2==1?'#EFEFEF':'#FFFFFF')"&gt; <br>&lt;td&gt;&lt;a datafld="连接地址"&gt;&lt;span datafld="名称"&gt;名称&lt;/span&gt;&lt;/a&gt;&lt;/td&gt; <br>&lt;td&gt;&lt;span datafld="经营人"&gt;经营人&lt;/span&gt;&lt;/td&gt; <br>&lt;td&gt;&lt;span datafld="级别"&gt;级别&lt;/span&gt;&lt;/td&gt; <br>&lt;td&gt;&lt;span datafld="简介"&gt;简介&lt;/span&gt;&lt;/td&gt; <br>&lt;/tr&gt; <br>&lt;/tbody&gt; <br>&lt;/table&gt; <br>&lt;form return onsubmit="jump(this);return false"&gt; <br>&lt;div align="right"&gt; <br>每页显示 <br>&lt;input name=pageSize datasrc=http://www.phpchina.com/#ShopList datafld=页大小 size=2&gt;条, <br>&lt;input type=submit value="" style="width:0"&gt; <br>共&lt;span id="pageCount" datasrc=http://www.phpchina.com/#ShopList datafld=页数量&gt;&lt;/span&gt;页 <br>&lt;span id="recordCount" datasrc=http://www.phpchina.com/#ShopList datafld=数量 &gt;&lt;/span&gt;条 <br><br>&lt;input name=firstPage type=submit value=首页 onclick="pageNum.value=1"&gt; <br>&lt;input name=previousPage type=submit value=上页 onclick="pageNum.value=pageNum.value-1"&gt; <br>第&lt;input name=pageNum datasrc=http://www.phpchina.com/#ShopList datafld=页号码 size=2&gt;页 <br>&lt;input name=nextPage type=submit value=下页 onclick="pageNum.value=(pageNum.value-0)+1"&gt; <br>&lt;input name=lastPage type=submit value=尾页 onclick="pageNum.value=pageCount.value" &gt; <br>&lt;input name=pageCount type=hidden datasrc=http://www.phpchina.com/#ShopList datafld=页数量 onpropertychange="pageCount_onpropertychange(form)"&gt; <br>&lt;/div&gt; &lt;/form&gt; <br>&lt;/body&gt; <br>&lt;/html&gt; <br><br><br>-----------------xml.php------------------ <br>&lt;?php <br>//require_once "Source/Global.php"; <br>function getVars($get_vars, $post_vars) { <br><br>$i = count($get_vars); <br>$j = count($post_vars); <br>if ($i &gt; 0 &amp;&amp; $j &gt; 0 ) { <br>while(list($key, $val) = each($get_vars)) { <br>$Vars[$key] = $val; <br>} <br>while(list($key2, $val2) = each($post_vars)) { <br>$Vars[$key2] = $val2; <br>} <br>} elseif ($i &gt; 0) { <br>while(list($key, $val) = each($get_vars)) { <br>$Vars[$key] = $val; <br>} <br>} elseif ($j &gt; 0) { <br>while(list($key2, $val2) = each($post_vars)) { <br>$Vars[$key2] = $val2; <br>} <br>} else { <br>$Vars = array(); <br>} <br>return $Vars; <br>} <br><br>$vars = getVars($HTTP_GET_VARS, $HTTP_POST_VARS); <br><br>//class shoplist_res extends iGlobal{ <br>class shoplist_res{ <br>function shoplist_res($vars,$cookie){ <br>//$this-&gt;iGlobal($vars,$cookie); <br>$this-&gt;outPut($vars,$cookie); <br>} <br><br>//function _shoplist_res(){ <br>// $this-&gt;db-&gt;Close(); <br>//} <br>function outPut($vars,$cookie){ <br>/*$strQuery = "select count(*) as rc from ".$this-&gt;db_c-&gt;Db_Pre."pshop order by id desc"; <br>$this-&gt;db-&gt;Query($strQuery); <br>$RecordCount = $this-&gt;db-&gt;Assoc(); <br>$RecordCount = $RecordCount['rc']; <br>@$this-&gt;db-&gt;freeResult();*/ <br>$RecordCount = 25; <br>if (empty($vars['pageNo'])) $vars['pageNo']= 1; <br>if (empty($vars['pageSize'])) $vars['pageSize']= 10; <br>$PageCount = ceil($RecordCount/$vars['pageSize']); <br>if ($vars['pageSize']&gt;$RecordCount) $vars['pageSize']=$RecordCount; <br>if ($vars['pageNo']&gt;$PageCount) $vars['pageNo']=$PageCount; <br>$xmlStr.= "&lt;?xml version="1.0" encoding="GBK" ?&gt;"." "; <br>$xmlStr.= "&lt;商铺列表&gt;"." "; <br>$xmlStr.= " &lt;翻页工具 pageNo="".$vars['pageNo']."" pageSize="".$vars['pageSize']."" total="".$RecordCount.""&gt;&lt;/翻页工具&gt;"." "; <br>$xmlStr.= " &lt;页号码&gt;".$vars['pageNo']."&lt;/页号码&gt;"." "; <br>$xmlStr.= " &lt;页大小&gt;".$vars['pageSize']."&lt;/页大小&gt;"." "; <br>$xmlStr.= " &lt;数量&gt;".$RecordCount."&lt;/数量&gt;"." "; <br>$xmlStr.= " &lt;页数量&gt;".$PageCount."&lt;/页数量&gt;"." "; <br>//$strQuery = "select t1.*,t2.* from ".$this-&gt;db_c-&gt;Db_Pre."pshop as t1,".$this-&gt;db_c-&gt;Db_Pre."shoptype as t2 where t1.typenum=t2.typenum order by id desc " <br>// ."limit ".($vars['pageNo']-1)*$vars['pageSize'].",".$vars['pageSize']; <br>//die($strQuery); <br>//$this-&gt;db-&gt;Query($strQuery); <br>/*while($result = $this-&gt;db-&gt;Assoc()){ <br>$xmlStr.= " "." "; <br>$xmlStr.= " &lt;商铺&gt;"." "; <br>$xmlStr.= " &lt;名称&gt;&lt;![CDATA[".$result['shopname']."]]&gt;&lt;/名称&gt;"." "; <br>$xmlStr.= " &lt;经营人&gt;&lt;![CDATA[".$result['shopmaster']."]]&gt;&lt;/经营人&gt;"." "; <br>$xmlStr.= " &lt;级别&gt;&lt;![CDATA[".$result['shoptype']."]]&gt;&lt;/级别&gt;"." "; <br>$xmlStr.= " &lt;简介&gt;&lt;![CDATA[".$result['shopintro']."]]&gt;&lt;/简介&gt;"." "; <br>$xmlStr.= " &lt;连接地址&gt;&lt;![CDATA[personal_shop.php?id=".$result['id']."]]&gt;&lt;/连接地址&gt;"." "; <br>$xmlStr.= " &lt;/商铺&gt;"." "; <br>}*/ <br>$sc= $vars['pageNo']*$vars['pageSize']; <br>if ($sc&gt;$RecordCount) $sc = $RecordCount; <br>for($i=($vars['pageNo']-1)*$vars['pageSize'];$i&lt;$sc;$i++){ <br>$xmlStr.= " "." "; <br>$xmlStr.= " &lt;商铺&gt;"." "; <br>$xmlStr.= " &lt;名称&gt;&lt;![CDATA[这是名称:".$i."]]&gt;&lt;/名称&gt;"." "; <br>$xmlStr.= " &lt;经营人&gt;&lt;![CDATA[这是经营人:".$i."]]&gt;&lt;/经营人&gt;"." "; <br>$xmlStr.= " &lt;级别&gt;&lt;![CDATA[这是级别:".$i."]]&gt;&lt;/级别&gt;"." "; <br>$xmlStr.= " &lt;简介&gt;&lt;![CDATA[这是简介:".$i."]]&gt;&lt;/简介&gt;"." "; <br>$xmlStr.= " &lt;连接地址&gt;&lt;![CDATA[personal_shop.php?id=".$i."]]&gt;&lt;/连接地址&gt;"." "; <br>$xmlStr.= " &lt;/商铺&gt;"." "; <br>} <br>$xmlStr.= "&lt;/商铺列表&gt;"." "; <br>header("Content-type: text/xml "); <br>echo $xmlStr; <br>} <br>} <br><br>$shoplist = new shoplist_res($vars,$HTTP_COOKIE_VARS); <br>//$shoplist-&gt;_shoplist_res(); <br>unset($sthoplist); <br>?&gt; <br><br><br>以上的php,注释的是我连接<a href="http://www.phpchina.com/javascript:;" onClick="javascript:tagshow(event, '%CA%FD%BE%DD%BF%E2');" target="_self"><u><strong>数据库</strong></u></a>取得的数据,既然放上来测试,也没有数据库连接,所以改了一下.偶也是刚接解xml不久,很多地方还是不很懂.见笑了...... <div>
页: [1]
查看完整版本: xml+php动态载入与分页
PageRank