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+mysql留言本源码
Nov 11 PHP
php操作sqlserver关于时间日期读取的小小见解
Nov 29 PHP
Mysql数据库操作类( 1127版,提供源码下载 )
Dec 02 PHP
PHP的范围解析操作符(::)的含义分析说明
Jul 03 PHP
如何利用php array_multisort函数 对数据库结果进行复杂排序
Jun 08 PHP
PHP stream_context_create()函数的使用示例
May 12 PHP
php提取身份证号码中的生日日期以及验证是否为成年人的函数
Sep 29 PHP
Laravel中Trait的用法实例详解
Mar 16 PHP
PHP中使用mpdf 导出PDF文件的实现方法
Oct 22 PHP
PDO::inTransaction讲解
Jan 28 PHP
解决laravel id非自增 模型取回为0 的问题
Oct 11 PHP
PHP获取类私有属性的3种方法
Sep 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
PHP 远程关机实现代码
2009/11/10 PHP
用javascript实现无刷新更新数据的详细步骤 asp
2006/12/26 Javascript
jQuery 全选效果实现代码
2009/03/23 Javascript
JavaScript格式化数字的函数代码
2010/11/30 Javascript
使用forever管理nodejs应用教程
2014/06/03 NodeJs
js实现键盘Enter键提交表单的方法
2015/05/27 Javascript
javascript Slip.js实现整屏滑动的手机网页
2015/11/25 Javascript
JS实现星星评分功能实例代码(两种方法)
2016/06/09 Javascript
基于jQuery实现文字打印动态效果
2017/04/21 jQuery
AngularJS 实现点击按钮获取验证码功能实例代码
2017/07/13 Javascript
vue项目创建并引入饿了么elementUI组件的步骤
2019/04/11 Javascript
关于JS模块化的知识点分享
2019/10/16 Javascript
JavaScript实现文件下载并重命名代码实例
2019/12/12 Javascript
vue mvvm数据响应实现
2020/11/11 Javascript
在 Django/Flask 开发服务器上使用 HTTPS
2014/07/03 Python
Django中的CBV和FBV示例介绍
2018/02/25 Python
TensorFlow实现卷积神经网络CNN
2018/03/09 Python
Python Unittest自动化单元测试框架详解
2018/04/04 Python
python+pandas+时间、日期以及时间序列处理方法
2018/07/10 Python
Python通过paramiko远程下载Linux服务器上的文件实例
2018/12/27 Python
使用 Python 玩转 GitHub 的贡献板(推荐)
2019/04/04 Python
python视频按帧截取图片工具
2019/07/23 Python
python实现屏保程序(适用于背单词)
2019/07/30 Python
Python 复平面绘图实例
2019/11/21 Python
基于pycharm实现批量修改变量名
2020/06/02 Python
荷兰超市:DEEN
2018/03/14 全球购物
书法比赛获奖感言
2014/02/10 职场文书
主题教育活动总结
2014/05/05 职场文书
学校查摆问题整改措施
2014/09/28 职场文书
护理专业自荐信范文
2015/03/06 职场文书
2015年保险公司工作总结
2015/04/24 职场文书
教师节随笔
2015/08/15 职场文书
共青团优秀团员申请书(范文)
2019/08/15 职场文书
postgres之jsonb属性的使用操作
2021/06/23 PostgreSQL
SQL 聚合、分组和排序
2021/11/11 MySQL
mysql创建存储过程及函数详解
2021/12/04 MySQL