Zend Framework中应用Ajax
来源:互联网 发布:jqueryrotate.js官网 编辑:程序博客网 时间:2024/05/16 10:20
开发平台: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 //入口文件- <?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 //数据库连接文件
- <?php
- 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
- /**
- * 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 //控制器
- <?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请求,处理请求,取回服务器返回值等
- <script type="text/javascript">
- 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;
- }
- </script>
- <form>
- 请选择一位客户:
- <select name="customers" onchange="showValue(this.value)">
- <option value="rot">rot</option>
- <option value="aaa">aaa</option>
- <option value="jesse">jesse</option>
- <option value="andle">andle</option>
- </select>
- </form>
- <p>
- <div id="resulte"><b>客户信息将在此处列出。</b></div>
- </p>
6.get-ajax.phtml //最后根据由服务器取回的数据生成页面元素
- <?php
- foreach($this->rowSet as $row){
- echo "<div>";
- echo "<ul>";
- echo "<li>";
- echo "id=".$row->id." title=".$row->title." add_time=".$row->add_time;
- echo "</li>";
- echo "</ul>";
- echo "</div>";
- }
- echo $this->sid;
- ?>
- Zend Framework中应用Ajax
- 在Zend Framework 中实现Ajax
- 让AJAX跑在Zend Framework中
- Zend Framework+smarty应用
- 在Zend Framework 应用中使用Smarty做模版引擎
- Zend Framework + Smarty 应用实例
- 优化Zend Framework应用(转)
- Zend Framework 配置与应用
- Zend Framework教程-用Zend命令行快速创建Zend应用
- Basic AJAX Example for Zend Framework
- 浅谈Zend Framework结合Ajax Web开发
- Zend Framework教程-应用的目录结构
- Zend Framework应用多数据库分析
- 使用zend studio开发zend framework应用的技巧
- Zend Framework 视图中使用视图
- Zend Framework 中 htaccess 的标准配置
- zend framework 中数据库的多表联查问题
- Zend Framework中Action的命名规则
- 从P1到P7——我在淘宝这7年(三)
- 从P1到P7——我在淘宝这7年(二)
- 使用setInterval同步加载Ext多个Store
- 使用testFlight进行企业部署
- 从P1到P7——我在淘宝这7年(一)
- Zend Framework中应用Ajax
- 从P1到P7——我在淘宝这7年(四)
- sql_表连接
- 从P1到P7——我在淘宝这7年(五)
- 从P1到P7——我在淘宝这7年(六)
- windowsAPI文本输出
- 权限系统分析
- K&R的名著:<C程序设计语言>自引用结构
- 从P1到P7——我在淘宝这7年(七)