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分页思路以及在ZF中的使用
May 30 PHP
php数字游戏 计算24算法
Jun 10 PHP
php数组(array)输出的三种形式详解
Jun 05 PHP
PHP实现自动登入google play下载app report的方法
Sep 23 PHP
PHP正则表达式之捕获组与非捕获组
Nov 06 PHP
php实现的SSO单点登录系统接入功能示例分析
Oct 12 PHP
php判断是否为ajax请求的方法
Nov 29 PHP
PHP实现阿里大鱼短信验证的实例代码
Jul 10 PHP
可兼容php5与php7的cURL文件上传功能实例分析
May 11 PHP
Ubuntu彻底删除PHP7.0的方法
Jul 27 PHP
php session_decode函数用法讲解
May 26 PHP
php解析非标准json、非规范json的方式实例
Dec 10 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
无限级别菜单的实现
2006/10/09 PHP
php中的时间显示
2007/01/18 PHP
PHP数据库操作之基于Mysqli的数据库操作类库
2014/04/19 PHP
ThinkPHP字符串函数及常用函数汇总
2014/07/18 PHP
PHP 接入支付宝即时到账功能
2016/09/18 PHP
PHP+Mysql+Ajax实现淘宝客服或阿里旺旺聊天功能(前台页面)
2017/06/16 PHP
jquery限制输入字数,并提示剩余字数实现代码
2012/12/24 Javascript
javascript分页代码实例分享(js分页)
2013/12/13 Javascript
Javascript高级技巧分享
2014/02/25 Javascript
JS判断当前页面是否在微信浏览器打开的方法
2015/12/08 Javascript
javascript中闭包(Closure)详解
2016/01/06 Javascript
从重置input file标签中看jQuery的 .val() 和 .attr(“value”) 区别
2016/06/12 Javascript
JS实现根据用户输入分钟进行倒计时功能
2016/11/14 Javascript
修改 bootstrap table 默认detailRow样式的实例代码
2017/07/21 Javascript
JS实现延迟隐藏功能的方法(类似QQ头像鼠标放上展示信息)
2017/12/28 Javascript
vue created钩子函数与mounted钩子函数的用法区别
2020/11/05 Javascript
[18:16]sakonoko 2017年卡尔集锦
2018/02/06 DOTA
python读取oracle函数返回值
2016/07/18 Python
JSONLINT:python的json数据验证库实例解析
2017/11/28 Python
Python基于回溯法解决01背包问题实例
2017/12/06 Python
详解如何将python3.6软件的py文件打包成exe程序
2018/10/09 Python
python实现AES加密与解密
2019/03/28 Python
Jupyter Notebook的连接密码 token查询方式
2020/04/21 Python
在pycharm中使用matplotlib.pyplot 绘图时报错的解决
2020/06/01 Python
用CSS3绘制三角形的简单方法
2015/07/17 HTML / CSS
奥地利顶级内衣丝袜品牌英国站:Wolford英国
2016/08/29 全球购物
Traffic People官网:女式花裙、上衣和连身裤
2020/10/12 全球购物
《在家里》教后反思
2014/03/01 职场文书
《数星星的孩子》教学反思
2014/04/11 职场文书
《美丽的丹顶鹤》教学反思
2014/04/22 职场文书
事业单位年度考核个人总结
2015/02/12 职场文书
2015年保送生自荐信
2015/03/24 职场文书
2015年学校禁毒工作总结
2015/05/27 职场文书
演讲稿:​快乐,从不抱怨开始!
2019/04/02 职场文书
tensorflow中的梯度求解及梯度裁剪操作
2021/05/26 Python
Spring Boot DevTools 全局配置学习指南
2022/03/31 Java/Android