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


Posted in PHP onJanuary 02, 2007

功能介绍: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

PHP 相关文章推荐
用php获取本周,上周,本月,上月,本季度日期的代码
Aug 05 PHP
PHP防CC攻击实现代码
Dec 29 PHP
解析php php_openssl.dll的作用
Jul 01 PHP
php实现微信公众平台账号自定义菜单类
Dec 02 PHP
19个Android常用工具类汇总
Dec 30 PHP
php版微信js-sdk支付接口类用法示例
Oct 12 PHP
Yii2框架BootStrap样式的深入理解
Nov 07 PHP
PHP自带方法验证邮箱、URL、IP是否合法的函数
Dec 08 PHP
CodeIgniter框架数据库基本操作示例
May 24 PHP
php5对象复制、clone、浅复制与深复制实例详解
Aug 14 PHP
php使用curl伪造浏览器访问操作示例
Sep 30 PHP
使用PHP开发留言板功能
Nov 19 PHP
[原创]PHP中通过ADODB库实现调用Access数据库之修正版本
Dec 31 #PHP
PHP中通过ADO调用Access数据库的方法测试不通过
Dec 31 #PHP
刚才在简化php的库,结果发现很多东西
Dec 31 #PHP
smarty+adodb+部分自定义类的php开发模式
Dec 31 #PHP
adodb与adodb_lite之比较
Dec 31 #PHP
PHP获得用户使用的代理服务器ip即真实ip
Dec 31 #PHP
使用adodb lite解决问题
Dec 31 #PHP
You might like
玩家交还《星际争霸》原始码光盘 暴雪报以厚礼
2017/05/05 星际争霸
php xml常用函数的集合(比较详细)
2013/06/06 PHP
php实现的网页版剪刀石头布游戏示例
2016/11/25 PHP
ThinkPHP5.0框架结合Swoole开发实现WebSocket在线聊天案例详解
2019/04/02 PHP
PHP代码加密的方法总结
2020/03/13 PHP
javascript Array数组对象的扩展函数代码
2010/05/22 Javascript
Javascript面象对象成员、共享成员变量实验
2010/11/19 Javascript
JS TextArea字符串长度限制代码集合
2012/10/31 Javascript
使用jQuery同时控制四张图片的伸缩实现代码
2013/04/19 Javascript
鼠标拖拽移动子窗体的JS实现
2014/02/25 Javascript
SeaJS入门教程系列之SeaJS介绍(一)
2014/03/03 Javascript
一个支付页面DEMO附截图
2014/07/22 Javascript
js实现鼠标感应图片展示的方法
2015/02/27 Javascript
JavaScript实现iframe自动高度调整和不同主域名跨域
2016/02/27 Javascript
简单实现jQuery进度条轮播实例代码
2016/06/20 Javascript
详解用原生JavaScript实现jQuery的某些简单功能
2016/12/19 Javascript
如何通过非数字与字符的方式实现PHP WebShell详解
2017/07/02 Javascript
jQuery+ajax实现修改密码验证功能实例详解
2017/07/06 jQuery
Vue.js 图标选择组件实践详解
2018/12/03 Javascript
[01:05:56]Liquid vs VP Supermajor决赛 BO 第二场 6.10
2018/07/04 DOTA
[37:47]IG vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
[42:48]完美世界DOTA2联赛PWL S3 Magma vs INK ICE 第二场 12.11
2020/12/16 DOTA
python查看微信好友是否删除自己
2016/12/19 Python
点球小游戏python脚本
2018/05/22 Python
对python制作自己的数据集实例讲解
2018/12/12 Python
python常用函数与用法示例
2019/07/02 Python
python代码xml转txt实例
2020/03/10 Python
使用Django实现把两个模型类的数据聚合在一起
2020/03/28 Python
巴西手表购物网站:eclock
2019/03/19 全球购物
Sql面试题
2013/03/20 面试题
总经理助理的八要求
2013/11/12 职场文书
项目采购员岗位职责
2014/04/15 职场文书
搞笑老公保证书
2015/02/26 职场文书
2015年银行大堂经理工作总结
2015/04/24 职场文书
家庭经济困难证明
2015/06/23 职场文书
基于Python实现一个春节倒计时脚本
2022/01/22 Python