本文实例讲述了Zend Framework框架中实现Ajax的方法。分享给大家供大家参考,具体如下:

开发平台:Windows XP SP2

测试平台:FreeBSD 7.0

开发工具:Netbeans 6.1

使用框架:Zend Framework 1.5.2

数据库: MySQL 5.0.51a

所需的数据库表和ZF相关目录以及文件:

一、表:

mysql> select * from news;

+----+-------+---------------------+

| id | title | add_time

| +----+-------+---------------------+

| 22 | rot | 2008-01-04 00:00:00 |

| 23 | aaa | 2008-01-04 00:00:00 |

| 24 | rot | 2008-01-04 00:00:00 |

| 29 | dfeew | 2008-02-27 00:00:00 |

| 26 | jesse | 2008-02-27 00:00:00 |

| 27 | andle | 2008-02-27 00:00:00 |

| 28 | andle | 2008-02-27 00:00:00 |

+----+-------+---------------------+

二、目录:

三、相关文件:

1.index.php //入口文件

2.TestDbCon.phhp //数据库连接文件

3.News.php //抽象出来的数据库表文件

4.TestController.php //控制器

5.ajax.phtml //客户操作页面,包含生成XMLHttpRequest对象,发ajax请求,处理请求,取回服务器返回值等

6.get-ajax.phtml //最后根据由服务器取回的数据生成页面元素

相关文件内容:

1.index.php //入口文件

set_include_path('.' . PATH_SEPARATOR .'../library' . PATH_SEPARATOR . get_include_path() . PATH_SEPARATOR . '../application/modules/default/models' . PATH_SEPARATOR . '../application/modules/admin/models');

require_once 'Zend/Controller/Front.php';

require_once 'Zend/Controller/Router/Route.php';

$ctrl=Zend_Controller_Front::getInstance();

$ctrl->addModuleDirectory('../application/modules');

$ctrl->throwExceptions(true);

$ctrl->dispatch();

?>

2.TestDbCon.phhp //数据库连接文件

require_once 'Zend/Db.php';

require_once 'Zend/Registry.php';

class TestDbCon{

public static function getTestDbCon(){

$params=array(

'host'=>'localhost',

'username'=>'root',

'password'=>'123456',

'dbname'=>'test'

);

$con=Zend_Db::factory('Pdo_Mysql',$params);

return $con;

}

}

?>

3.News.php //抽象出来的数据库表文件

/**

* PHP Template.

*/

require_once 'Zend/Db/Table/Abstract.php';

class News extends Zend_Db_Table_Abstract{

// protected $_schema='test';

protected $_name='news';

protected $_primary='id';

protected $_sequence=true;

}

?>

4.TestController.php //控制器

require_once 'Zend/Controller/Action.php';

require_once 'Zend/View.php';

require_once 'News.php';

require_once 'TestDbCon.php';

class TestController extends Zend_Controller_Action{

public function ajaxAction(){

$this->render();

}

public function getAjaxAction(){

// $aaa=$_GET['q'];

// $this->view->sid=$_GET['sid'];

$aaa=$this->_request->getParam('q');

$this->view->sid=$this->_request->getParam('sid');

$conn=TestDbCon::getTestDbCon();

$news_tb=new News(array('db'=>$conn));

$where=$news_tb->getAdapter()->quoteInto('title=?',$aaa);

$this->view->rowSet=$news_tb->fetchAll($where);

$this->render();

}

}

?>

5.ajax.phtml //客户操作页面,包含生成XMLHttpRequest对象,发ajax请求,处理请求,取回服务器返回值等

var xmlHttp

function showValue(str)

{

xmlHttp=getXmlHttpObject();

if (xmlHttp==null)

{

alert ("您的浏览器不支持AJAX.");

return;

}

var url="/test/get-ajax";

url=url+"/q/"+str;

url=url+"/sid/"+Math.random();

xmlHttp.onreadystatechange=stateChanged;

xmlHttp.open("GET",url,true);

xmlHttp.send(null);

}

function stateChanged()

{

if (xmlHttp.readyState==4)

{

document.getElementById("resulte").innerHTML=xmlHttp.responseText;

}

}

function getXmlHttpObject()

{

var xmlHttp=null;

try

{

// Firefox, Opera 8.0+, Safari

xmlHttp=new XMLHttpRequest();

}

catch (e)

{

// Internet Explorer

try

{

xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");

}

catch (e)

{

xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");

}

}

return xmlHttp;

}

请选择一位客户:

rot

aaa

jesse

andle

客户信息将在此处列出。

6.get-ajax.phtml //最后根据由服务器取回的数据生成页面元素

foreach($this->rowSet as $row){

echo "

";

echo "

  • ";

echo "

";

echo "id=".$row->id." title=".$row->title." add_time=".$row->add_time;

echo "

";

echo "

";

echo "

";

}

echo $this->sid;

?>

希望本文所述对大家基于Zend Framework框架的PHP程序设计有所帮助。

AJAX框架构图插画,Zend Framework框架中实现Ajax的方法示例相关推荐

  1. php excel 组件,Yii Framework框架使用PHPExcel组件的方法示例

    本文实例讲述了Yii Framework框架使用PHPExcel组件的方法.分享给大家供大家参考,具体如下: PHPExcel下载地址http://www.yiiframework.com/exten ...

  2. jwt php tp5,TP5框架中使用JWT的方法示例

    本文实例讲述了TP5框架中使用JWT的方法.共享给大家供大家参考,详细如下: 可以直接去github上下载,也可以使用composer 使用composer的话要保证你的电脑上安装了composer, ...

  3. Zend Framework 2 中,定制error 的layout

    为什么80%的码农都做不了架构师?>>>    404页面在我们平常浏览网页的时候并不会经常碰到,也因此很容易被忽略,在Zend Framework 2中,项目的结构已经默认提供了4 ...

  4. ci如何使用中$.ajax 中的 url 如何使用php的代码,CI框架中使用ajax操作数据库有关问题...

    CI框架中使用ajax操作数据库问题 本帖最后由 A9925 于 2014-11-24 16:11:05 编辑 前台: //调用方法用ajax操作add_dbdata.php var xmlHttp ...

  5. php行为和事件是什么,Yii Framework框架中事件和行为的区别及应用实例分析

    本文实例讲述了Yii Framework框架中事件和行为的区别及应用.分享给大家供大家参考,具体如下: 个人觉得,在 Yii 里面,最难以明白的就是事件(Event)和行为(behavior)了.这不 ...

  6. 在ZF2中实现Zend Framework的Controller init/preDispatch/postDispatch方法

    在Zend Framework 1中,Controller里约定了一些默认的方法来实现钩子,包括 Controller初始化时调用的init()方法 派遣前的方法preDispatch() 派遣后的方 ...

  7. 关于Scrapy爬虫框架中meta参数的使用示例演示(下)

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 络纬秋啼金井阑,微霜凄凄簟色寒. ...

  8. python grpc 并发_在Python中使用gRPC的方法示例【h】

    本文介绍了在Python中使用gRPC的方法示例,分享给大家,具体如下: 使用Protocol Buffers的跨平台RPC系统. 安装 使用 pip gRPC由两个部分构成,grpcio 和 gRP ...

  9. python中使用grpc方法示例_在Python中使用gRPC的方法示例

    本文介绍了在Python中使用gRPC的方法示例,分享给大家,具体如下: 使用Protocol Buffers的跨平台RPC系统. 安装 使用 pip pip install grpcio pip i ...

  10. go语言字符串换行_Go语言中的字符串处理方法示例详解

    1 概述 字符串,string,一串固定长度的字符连接起来的字符集合.Go语言的字符串是使用UTF-8编码的.UTF-8是Unicode的实现方式之一. Go语言原生支持字符串.使用双引号(" ...

最新文章

  1. git项目比对_Git实战之Git对比SVN
  2. sqlserver 两表联查去重_去山东省(烟台)必吃“特色”小吃 ,舌尖5大美食享受!...
  3. 重新使用Eclipse建立安卓工程遇到的问题
  4. Webdynpro check error - check function in Workbench
  5. 9、play中缓存的使用
  6. q7goodies事例_Java 8 Friday Goodies:精益并发
  7. 算法—巧排扑克牌(C语言)
  8. spring学习(51):对象的初始化和销毁
  9. java 使用json-lib 对象,String,json互转
  10. 北京航空航天大学计算机科学与工程系,北航郑征主页 北京航空航天大学教师个人主页系统...
  11. 树莓派人脸识别_【树莓派人工智能篇】第7课 垃圾分类
  12. linux修改容器内的mysql端口_Linux系统下修改phpstudy集成环境中的MySQL端口号的步骤...
  13. mysql 2100,MySQL 实现准实时的表级别DML计数
  14. 太阳光是平行光吗_百思 | 太阳光是不是平行光?
  15. CCF-CSP刷题网站推荐(含100分答案)
  16. 单片机万年历阴阳历c语言,单片机阴历阳历c算法万年历.pdf
  17. Java抽象类,接口练习之猫狗案例加入跳高功能分析及其代码实现
  18. 简单图+Havel_Hakimi定理
  19. JavaScript中的触发事件
  20. java.lang.UnsupportedOperationException: Currently Flink doesn‘t support individual window table-val

热门文章

  1. ps怎么更改背景图层大小_如何利用Photoshop软件修改图片尺寸的大小
  2. Opencascade TopoDS_Shape Orientation
  3. 做好里程碑就是项目成功了一半
  4. 关于VLAN-tag
  5. 信号与系统——抽样信号的傅里叶变换
  6. 信创办公--基于WPS的Word最佳实践系列(图片背景的删除)
  7. 【单片机仿真】(五)寻址方式 — 立即寻址与寄存器间接寻址
  8. 【单片机仿真】(四)寻址方式 — 寄存器寻址与直接寻址
  9. 华为员工频繁自杀原因何在?
  10. Linux下FTP上传下载之续传命令