当前位置: 首页 > 图文教程 > 网络编程 > PHP > AJAX for PHP简单表数据查询实例

PHP
php面向对象全攻略 (十五) 多态的应用
php面向对象全攻略 (十六) 对象的串行化
php面向对象全攻略 (十七) 自动加载类
PHP parse_url 一个好用的函数
PHP 字符串分割和比较
全世界最小的php网页木马一枚 附PHP木马的防范方法
PHP 日期加减的类,很不错
PHP 日期时间函数的高级应用技巧
PHP获取163、gmail、126等邮箱联系人地址【已测试2009.10.10】
Ha0k 0.3 PHP 网页木马修改版
PHP iconv 函数转gb2312的bug解决方法
关于页面优化和伪静态
使用zend studio for eclipse不能激活代码提示功能的解决办法
PHP 身份验证方面的函数
基于OpenCV的PHP图像人脸识别技术
用mysql触发器自动更新memcache的实现代码
php 数学运算验证码实现代码
PHP网站开发方案实例
PHP教程:挖掘细节提升网站性能
搜索引擎技术核心揭密(PHP)

AJAX for PHP简单表数据查询实例


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 177 ::
收藏到网摘: n/a

功能介绍:AJAX WebShop 3从Beta2开始支持PHP的开发了,AJAX WebShop集成了PHP5的开发环境,因此不需要额外安装配置PHP,本例将实现一个AJAX for PHP的简单数据查询操作,这个例子是单表操作,也可以实现主从表的数据查询。
一.数据表说明
例子采用了Access数据库,当然你也可以使用mysql 或其他类型数据库,数据库名称为:demo.mdb,表名为product,创建字段分别是PRODUCT_ID, PRODUCT_NAME, PRODUCT_PRICE, PRODUCT_AREA。
二.实现数据查询
首先启动AJAX WebShop 3,在File中选择“New Project”建立新工程。
图1
在弹出的New Project对话框中设置projectname 和web server本例中设置projectname为:php_example和设置web server为:PHP。如果要修改工程路径,请在Directory中设置要存放的路径。
图2
设置好New Project后,再打开“File”选择“New .PHP Service”,在弹出的对话框内目录输入子目录demo,设置”Class Name”为:simple_query;在ServiceType中选择“Query Data”点击“OK“后,向导将按默认模板生成php单表查询的代码。
图3
输入以下数据库连接及sql代码(demo.mdb文件放在当前代码目录下):$c.realpath($_SERVER['PATH_TRANSLATED'])."\demo.mdb";
$sql = "select * from product";
$sqlcount = "select count(*) from product";

分析testquery.php代码,主要的实现如下:
1. 循环数据结构,用addField向$xmlRequest填充字段(列): //fill metadata fields
复制代码 代码如下:
for ($i=1; $i<=$fields_count; $i++) {
$fieldname = odbc_field_name($result_id, $i);
$datatype = odbc_field_type($result_id, $i);
$xmlRequest->addField($fieldname, $datatype);
}

2. 循环结果集记录,调用Append() ,SetValue方法,向xmlrequest每一行对应字段填充数据: //fill data rows
复制代码 代码如下:
for ($i=0; $i<$record_count; $i++) {
odbc_fetch_row($result_id);
if($i>=$recNo && $i<$recNo+$maxRows) {
$xmlRequest->append();
for ($j=1; $j<=$fields_count; $j++) {
$xmlRequest->setValueByIndex($j-1, odbc_result($result_id, $j));
}
}
if($i>=$recNo+$maxRows) break;
}

3. 设置分页的相关参数,$xmlRequest->recNo是开始记录,$xmlRequest->maxRows是每页记录数,通过执行"select count(*) from product"得到$record_count记录总数:
复制代码 代码如下:
$sqlcount = "select count(*) from product";
$result_id = @odbc_do($connid, $sqlcount);
if($result_id==null)
throw new Exception($sqlcount);
odbc_fetch_row($result_id);
$record_count = odbc_result($result_id,1);
$xmlRequest->setRecordCount($record_count);
$recNo = $xmlRequest->recNo;
$maxRows = $xmlRequest->maxRows;
if($maxRows==-1) $maxRows = $record_count;
后台数据访问类建立好后,在“File”中选择“New Page”打开“New Page”对话框在“File Name”中设置页面名称,如本例“simple.htm”点击ok完成设置。
未完)
原文出自http://cn.joyistar.com