xml+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">
<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不久,很多地方还是不很懂.见笑了......

时间: 2024-09-13 16:09:12

xml+php动态载入与分页的相关文章

xml+php动态载入与分页_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

使用 xsl 对 xml 文档进行动态排序,分页显示的扩展

xml|动态|分页|排序|显示 在 http://www.asptoday.com/articles/20000724.htm 有非常好的例子,是关于   使用 xsl 对 xml 文档进行动态排序,分页显示的.   主要使用三个文件:   default.asp 把 xml, xsl 文件串起来   getxml.asp 对 default 来说相当于 xml   sample.xsl 主要的格式编排工作在这里做   ======================================

Asp.Net中页面运行时动态载入的UserControl内元素的事

在Asp.Net页面的开发过程中,我们肯定经常会用到自定义的UserControl来复用部分页面元素,我们有两种使用UserControl的方式 1.在设计时往页面里添加需要的UserControl(最常用的就是从SolutionExplorer拖ascx到设计页面) 此种情况下,如果将UserControl放置在runat=server的html标签中,将可能导致UserControl内的元素事件处理不能正确执行. 例如:我们有时用一个div作为边框包含了需要的UserControl,而出于在

从XML中动态加载菜单的示例

本文配套源码 这个案例是一个基于VS2005的WinForm菜单控件的例子,功能是从XML中动态加载菜单数据到MenuTrip控件上.这个案例中用到了XML,反射之类的技术.当然实用价值有限,仅供学习参考之用. 首先创建一个WinForm项目,在Form1上放置一个MenuTrip控件,将其命名为MainMenu. 在项目中添加一个XML文件,命名为Menu.xml,代码如下: MenuXml 1<?xml version="1.0" encoding="utf-8&q

为文章标题链接添加动态载入效果

 文章标题链接添加动态载入效果-lol动态载入界面下载"> 很多朋友应该都会发现,在我的博客里移动和点击标题都有一些动态效果,右移的效果请移步上次写的文章<分享本站标题链接平滑右移效果>,今天写的是点击之后的那个动态loading...的效果.两种的效果到主页点击标题就可以看见啦. 首先第一步要让网页加载jQuery库文件,不过现在基本上没有什么站没用到jQuery了,所以第一步可以省略. 但如果没有添加的话,可以在</head>标签前加入以下代码.   <s

JQuery快速实现Tab的AJAX动态载入实例讲解

 这篇文章主要介绍了使用JQuery快速实现Tab的AJAX动态载入(实例讲解)需要的朋友可以过来参考下,希望对大家有所帮助 下面我就简单讲一下实现过程:   1.找到链接源,我这里是一串的Li下的链接    2.处理样式    3.当鼠标移过时载入链接源的网站到指定容器,并切换样式让点击事件返回false,这里不会应该点击到链接源网页    5.Over了.    脚本:   代码如下:     {     //homeNews           var tid = "#homeNews&q

JS使用ajax从xml文件动态获取数据显示的方法

 这篇文章主要介绍了JS使用ajax从xml文件动态获取数据显示的方法,实例分析了javascript使用Ajax技术操作XML文件的技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了JS使用ajax从xml文件动态获取数据显示的方法.分享给大家供大家参考.具体分析如下: 下面的JS代码通过ajax检索xml文件的内容动态展示到网页,真个页面无刷新 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 2

JS使用ajax从xml文件动态获取数据显示的方法_javascript技巧

本文实例讲述了JS使用ajax从xml文件动态获取数据显示的方法.分享给大家供大家参考.具体分析如下: 下面的JS代码通过ajax检索xml文件的内容动态展示到网页,真个页面无刷新 <!DOCTYPE html> <html> <head> <script> function loadXMLDoc(url) { var xmlhttp; var txt,x,xx,i; if (window.XMLHttpRequest) {// code for IE7+,

动态载入js提高网页打开速度的方法_javascript技巧

一般来说如果一次性的载入所有需要的JavaScript代码,就会造成初始网页打开速度变慢,但是很多载入的代码又并不需要使用,这种无谓的性能浪费应该予以避免.如果要动态载入JavaScript代码,可以利用DOM模型在HTML文档中添加<script>结点,并将此结点的src属性(即 外联 Javascript文件)设置为需要动态载入的JavaScript代码. 下面就是完成这样功能的一个示例: (1).新建JsLoaderTest.html文件 <html xmlns="htt