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出错界面
Oct 09 PHP
如何对PHP程序中的常见漏洞进行攻击(下)
Oct 09 PHP
php adodb介绍
Mar 19 PHP
在PHP中检查PHP文件是否有语法错误的方法
Dec 23 PHP
php学习笔记之 函数声明(二)
Jun 09 PHP
PHP从FLV文件获取视频预览图的方法
Mar 12 PHP
PHP中把数据库查询结果输出为json格式简单实例
Apr 09 PHP
php打造智能化的柱状图程序,用于报表等
Jun 19 PHP
PHP使用finfo_file()函数检测上传图片类型的实现方法
Apr 18 PHP
老生常谈PHP数组函数array_merge(必看篇)
May 25 PHP
浅谈PHP错误类型及屏蔽方法
May 27 PHP
php多进程中的阻塞与非阻塞操作实例分析
Mar 04 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插件 Simple HTML DOM 用DOM方式处理HTML
2013/07/01 PHP
php集成环境xampp中apache无法启动问题解决方案
2014/11/18 PHP
基于win2003虚拟机中apache服务器的访问
2017/08/01 PHP
function, new function, new Function之间的区别
2007/03/08 Javascript
JavaScript中的prototype使用说明
2010/04/13 Javascript
读jQuery之六 缓存数据功能介绍
2011/06/21 Javascript
js模拟点击以提交表单为例兼容主流浏览器
2013/11/29 Javascript
Javascript加载速度慢的解决方案
2014/03/11 Javascript
一个简单的动态加载js和css的jquery代码
2014/09/01 Javascript
小白谈谈对JS原型链的理解
2016/05/03 Javascript
浅谈js对象的创建和对6种继承模式的理解和遐想
2016/10/16 Javascript
js 去掉字符串前后空格实现代码集合
2017/03/25 Javascript
在页面中引入js的两种方法(推荐)
2017/08/29 Javascript
关于JS解构的5种有趣用法
2019/09/05 Javascript
vue控制多行文字展开收起的实现示例
2019/10/11 Javascript
element实现合并单元格通用方法
2019/11/13 Javascript
详解React的回调渲染模式
2020/09/10 Javascript
python元组操作实例解析
2014/09/23 Python
python通过yield实现数组全排列的方法
2015/03/18 Python
Python实现的简单dns查询功能示例
2017/05/24 Python
详解python OpenCV学习笔记之直方图均衡化
2018/02/08 Python
Django自定义过滤器定义与用法示例
2018/03/22 Python
Python中py文件转换成exe可执行文件的方法
2019/06/14 Python
python把转列表为集合的方法
2019/06/28 Python
python3实现用turtle模块画一棵随机樱花树
2019/11/21 Python
python3 requests库实现多图片爬取教程
2019/12/18 Python
Python迷宫生成和迷宫破解算法实例
2019/12/24 Python
pytorch实现onehot编码转为普通label标签
2020/01/02 Python
JAVA SWT事件四种写法实例解析
2020/06/05 Python
css3编写浏览器背景渐变背景色的方法
2018/03/05 HTML / CSS
浅谈HTML5新增及移除的元素
2016/06/27 HTML / CSS
anello泰国官方网站:日本流行包包品牌
2019/08/08 全球购物
化工专业自荐书
2014/06/16 职场文书
党小组鉴定意见
2015/06/02 职场文书
虎兄虎弟观后感
2015/06/12 职场文书
解决Tkinter中button按钮未按却主动执行command函数的问题
2021/05/23 Python