AJAX for PHP简单表数据查询实例

2015-01-24信息快讯网
功能介绍: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 Mysql类 可以参考学习熟悉下
discuz7 phpMysql操作类
php 将bmp图片转为jpg等其他任意格式的图片
PHP COOKIE设置为浏览器进程
PHP 输出缓存详解
php MYSQL 数据备份类
PHP写MySQL数据 实现代码
php ignore_user_abort与register_shutdown_function 使用方法
纯真IP数据库的应用 IP地址转化成十进制
php array_map array_multisort 高效处理多维数组排序
PHP加速 eAccelerator配置和使用指南
php 更新数据库中断的解决方法
很好用的PHP数据库类
将数组写入txt文件 var_export
一个php导出oracle库的php代码
AspNetAjaxPager,Asp.Net通用无刷新Ajax分页控件,支持多样式多数据绑定
解决了Ajax、MySQL 和 Zend Framework 的乱码问题
PHP Ajax中文乱码问题解决方法
php AJAX实例根据邮编自动完成地址信息
PHP ajax 分页类代码
PHP文件上传实例详解!!!
PHP中通过ADODB库实现调用Access数据库之修正版本 原创
PHP中通过ADO调用Access数据库的方法测试不通过
刚才在简化php的库,结果发现很多东西
smarty+adodb+部分自定义类的php开发模式
PHP获得用户使用的代理服务器ip即真实ip
ADODB的数据库封包程序库
用ADODB来让PHP操作ACCESS数据库的方法
30分钟学会用PHP写带数据库的简单通讯录第1/3页
落伍首发 php+mysql 采用ajax技术的 省 市 地 3级联动无刷新菜单 源码
ajax缓存问题解决途径
eWebEditor v3.8 商业完整版 (PHP)
PHP+AJAX实现无刷新注册(带用户名实时检测)
PHP中for循环语句的几种变型
xajax写的留言本
oracle资料库函式库
如何在PHP中使用Oracle数据库(6)
使用MaxMind 根据IP地址对访问者定位
©2014-2024 dbsqp.com