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 相关文章推荐
经典的PHPer为什么被认为是草根?
Apr 02 PHP
php相当简单的分页类
Oct 02 PHP
PHP 多维数组排序实现代码
Aug 05 PHP
php数组函数序列之array_keys() - 获取数组键名
Oct 30 PHP
介绍一些PHP判断变量的函数
Apr 24 PHP
我整理的PHP 7.0主要新特性
Jan 07 PHP
详解WordPress中添加友情链接的方法
May 21 PHP
PHPStrom 新建FTP项目以及在线操作教程
Oct 16 PHP
php mysql实现mysql_select_db选择数据库
Dec 30 PHP
Laravel5.5新特性之友好报错以及展示详解
Aug 13 PHP
php+redis消息队列实现抢购功能
Feb 08 PHP
ThinkPHP 3.2.3实现加减乘除图片验证码
Dec 05 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
php 输出双引号&quot;与单引号'的方法
2010/05/09 PHP
用PHP实现小写金额转换大写金额的代码(精确到分)
2012/01/10 PHP
nginx+php-fpm配置文件的组织结构介绍
2012/11/07 PHP
PHP7+Nginx的配置与安装教程详解
2016/05/10 PHP
Zend Framework数据库操作方法实例总结
2016/12/11 PHP
当前页禁止复制粘贴截屏代码小集
2013/07/24 Javascript
JQuery异步加载无限下拉框级联功能实现示例
2014/02/19 Javascript
node+express+ejs制作简单页面上手指南
2014/11/26 Javascript
node.js中的fs.appendFile方法使用说明
2014/12/17 Javascript
JS简单实现点击复制链接的方法
2016/08/03 Javascript
用JavaScript实现让浏览器停止载入页面的方法
2017/01/19 Javascript
详解webpack 入门总结和实践(按需异步加载,css单独打包,生成多个入口文件)
2017/06/20 Javascript
Javascript网页抢红包外挂实现分享
2018/01/11 Javascript
详解.vue文件解析的实现
2018/06/11 Javascript
详解如何在Node.js的httpServer中接收前端发送的arraybuffer数据
2018/11/11 Javascript
vue2.0实现的tab标签切换效果(内容可自定义)示例
2019/02/11 Javascript
Vue中CSS动画原理的实现
2019/02/13 Javascript
JavaScript如何实现元素全排列实例代码
2019/05/14 Javascript
超轻量级的js时间库miment使用解析
2019/08/02 Javascript
jQuery实现回到顶部效果
2020/10/19 jQuery
[00:06]Yes,it worked!小卡尔成功穿越时空加入战场!
2019/07/20 DOTA
Python常用库推荐
2016/12/04 Python
python基础之入门必看操作
2017/07/26 Python
Python实现多进程共享数据的方法分析
2017/12/04 Python
Django中Forms的使用代码解析
2018/02/10 Python
Django+zTree构建组织架构树的方法
2019/08/21 Python
韩国女装NO.1网店:STYLENANDA
2016/09/16 全球购物
EGO Shoes美国/加拿大:英国时髦鞋类品牌
2018/08/04 全球购物
养殖项目策划书范文
2014/01/13 职场文书
霸气押韵的班级口号
2014/06/09 职场文书
小学生美德少年事迹材料
2014/08/24 职场文书
贫困证明模板(3篇)
2014/09/16 职场文书
班级元旦晚会开幕词
2015/01/29 职场文书
2015年酒店工作总结范文
2015/04/07 职场文书
致青春观后感
2015/06/09 职场文书
一次SQL如何查重及去重的实战记录
2022/03/13 MySQL