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 相关文章推荐
Breeze 文章管理系统 v1.0.0正式发布
Dec 14 PHP
关于crontab的使用详解
Jun 24 PHP
解析php多线程下载远程多个文件
Jun 25 PHP
smarty模板引擎基础知识入门
Mar 30 PHP
php猴子选大王问题解决方法
May 12 PHP
PHP中strcmp()和strcasecmp()函数字符串比较用法分析
Jan 07 PHP
PHP计算当前坐标3公里内4个角落的最大最小经纬度实例
Feb 26 PHP
PHP实现基于mysqli的Model基类完整实例
Apr 08 PHP
PHP 将dataurl转成图片image方法总结
Oct 14 PHP
php微信公众平台开发(一) 配置接口
Dec 06 PHP
php在windows环境下获得cpu内存实时使用率(推荐)
Feb 08 PHP
关于PHP求解三数之和问题详析
Nov 09 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在XP下IIS和Apache2服务器上的安装
2006/09/05 PHP
php 动态执行带有参数的类方法
2009/04/10 PHP
基于php设计模式中单例模式的应用分析
2013/05/15 PHP
linux实现php定时执行cron任务详解
2013/12/24 PHP
CI(CodeIgniter)框架中的增删改查操作
2014/06/10 PHP
简单谈谈 php 文件锁
2017/02/19 PHP
php防止sql注入的方法详解
2017/02/20 PHP
PHP字符串和十六进制如何实现互相转换
2020/07/16 PHP
javascript中的parseInt和parseFloat区别
2013/07/12 Javascript
jQuery如何取id有.的值一般的方法是取不到的
2014/04/18 Javascript
js控制元素显示在屏幕固定位置及监听屏幕高度变化的方法
2015/08/11 Javascript
JS中多种方式创建对象详解
2016/03/22 Javascript
angular-ui-sortable实现可拖拽排序列表
2016/12/28 Javascript
js时间戳与日期格式之间相互转换
2017/12/11 Javascript
jQuery实现文件编码成base64并通过AJAX上传的方法
2018/04/12 jQuery
对angularJs中2种自定义服务的实例讲解
2018/09/30 Javascript
微信小程序实现3D轮播图效果(非swiper组件)
2019/09/21 Javascript
Vue项目如何引入bootstrap、elementUI、echarts
2020/11/26 Vue.js
[55:45]LGD vs OG 2019国际邀请赛淘汰赛 胜者组 BO3 第三场 8.24
2019/09/10 DOTA
Python实现删除文件但保留指定文件
2015/06/21 Python
Python实战购物车项目的实现参考
2019/02/20 Python
Python+PyQt5实现美剧爬虫可视工具的方法
2019/04/25 Python
ZABBIX3.2使用python脚本实现监控报表的方法
2019/07/02 Python
python pandas利用fillna方法实现部分自动填充功能
2020/03/16 Python
Html5 canvas实现粒子时钟的示例代码
2018/09/06 HTML / CSS
请写出char *p与"零值"比较的if语句
2014/09/24 面试题
优秀毕业生推荐信
2013/11/02 职场文书
4s店总经理岗位职责
2013/12/31 职场文书
消防安全检查制度
2014/02/04 职场文书
求职意向书范文
2014/04/01 职场文书
巴西世界杯32强口号
2014/06/05 职场文书
安全例会汇报材料
2014/08/23 职场文书
党支部创先争优承诺书
2014/08/30 职场文书
2015年植树节活动总结
2015/02/06 职场文书
总经理2015中秋节致辞
2015/07/29 职场文书
一看就懂的MySQL的聚簇索引及聚簇索引是如何长高的
2021/05/25 MySQL