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 相关文章推荐
Ajax PHP分页演示
Jan 02 PHP
php 小乘法表实现代码
Jul 16 PHP
PDO版本问题 Invalid parameter number: no parameters were bound
Jan 06 PHP
php实现把数组按指定的个数分隔
Feb 17 PHP
Drupal7连接多个数据库及常见问题解决
Mar 02 PHP
phpmyadmin配置文件现在需要绝密的短密码(blowfish_secret)的2种解决方法
May 07 PHP
php实现统计网站在线人数的方法
May 12 PHP
PHP Cookei记录用户历史浏览信息的代码
Feb 03 PHP
php版微信公众平台接口开发之智能回复开发教程
Sep 22 PHP
PHP yii实现model添加默认值的方法(两种方法)
Nov 10 PHP
PHP+MariaDB数据库操作基本技巧备忘总结
May 21 PHP
PHP使用Redis实现Session共享的实现示例
May 12 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的开合式多级菜单程序
2006/10/09 PHP
header中Content-Disposition的作用与使用方法
2012/06/13 PHP
php实现文件下载功能的几个代码分享
2014/05/10 PHP
PHP 只允许指定IP访问(允许*号通配符过滤IP)
2014/07/08 PHP
ThinkPHP分组下自定义标签库实例
2014/11/01 PHP
php无序树实现方法
2015/07/28 PHP
jQuery 行级解析读取XML文件(附源码)
2009/10/12 Javascript
一个基于jquery的图片切换效果
2010/07/06 Javascript
node.js中的fs.utimesSync方法使用说明
2014/12/15 Javascript
javascript中call apply 的应用场景
2015/04/16 Javascript
js实现顶部可折叠的菜单工具栏效果实例
2015/05/09 Javascript
JavaScript实现仿网易通行证表单验证
2015/05/25 Javascript
最新最热最实用的15个jQuery插件汇总
2015/07/05 Javascript
jquery ajax分页插件的简单实现
2016/01/27 Javascript
纯JS前端实现分页代码
2016/06/21 Javascript
Javascript封装id、class与元素选择器方法示例
2017/03/13 Javascript
Nodejs进阶:express+session实现简易登录身份认证
2017/04/24 NodeJs
javascript开发实现贪吃蛇游戏
2020/07/31 Javascript
python logging日志模块的详解
2017/10/29 Python
批量将ppt转换为pdf的Python代码 只要27行!
2018/02/26 Python
Python返回数组/List长度的实例
2018/06/23 Python
Python面向对象类编写细节分析【类,方法,继承,超类,接口等】
2019/01/05 Python
python学生管理系统的实现
2020/04/05 Python
Python 在局部变量域中执行代码
2020/08/07 Python
python中的垃圾回收(GC)机制
2020/09/21 Python
详解利用canvas实现环形进度条的方法
2019/06/12 HTML / CSS
Belvilla德国:在线预订度假屋
2018/04/10 全球购物
COACH德国官方网站:纽约现代奢侈品牌,1941年
2018/06/09 全球购物
校园自助餐厅的创业计划书
2013/12/26 职场文书
护士实习求职信
2014/06/22 职场文书
公司授权委托书范文
2014/08/02 职场文书
2015大学自主招生自荐信范文
2015/03/04 职场文书
庆祝教师节活动总结
2015/03/23 职场文书
新郎结婚感言
2015/07/31 职场文书
python cv2图像质量压缩的算法示例
2021/06/04 Python
Python中的 No Module named ***问题及解决
2022/07/23 Python