0 Comments

数据库驱动的AJAX

发布于:2012-11-22  |   作者:广州网站建设  |   已聚集:人围观
数据库驱动的AJAX

正如前文介绍的XML只是数据的载体,因此不适合做数据存储。如果XML不能与数据库建立联系那么它的优势将变得毫无用处,毕竟XML的丰富与强大是需要有背后的数据库做支撑的。本节将通过一个例子,来展示如何通过数据驱动AJAX。广州网站建设

(1)首先创建一个数据库脚本,用来存放数据资料,代码如下:

广州网站建设
  1. SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";  
  2.  
  3. --   
  4. -- 数据库: 'test1'  
  5. --   
  6.  
  7. -- --------------------------------------------------------  
  8.  
  9. --   
  10. -- 表的结构 'xml'  
  11. --   
  12.  
  13. CREATE TABLE 'xml' (  
  14.   'id' int(10) NOT NULL auto_increment,  
  15.   'name' varchar(20) NOT NULL,  
  16.   'doning' varchar(20) NOT NULL,  
  17.   PRIMARY KEY  ('id')  
  18. ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ;  
  19.  
  20. --   
  21. -- 导出表中的数据 'xml'  
  22. --   
  23.  
  24. INSERT INTO 'xml' VALUES (1, 'Mark', '任务1');  
  25. INSERT INTO 'xml' VALUES (2, 'Annie', '任务2');  
  26. INSERT INTO 'xml' VALUES (3, 'Nathan', '任务3');  
  27. INSERT INTO 'xml' VALUES (4, 'Rob', '任务4');  
  28. INSERT INTO 'xml' VALUES (5, 'Chris', '任务5');  

 

(2)创建一个文件名为xml.php的脚本文件,用来读取数据库中的数据,并生成标准的XML格式文件。代码如下:
广州网站设计
  1. <?php 
  2. header ( 'Content-Type: text/xml' );            //header()函数声明文件类型  
  3. echo '<?xml version="1.0" encoding="utf-8" ?>';  
  4. echo '<family>';  
  5. $db = mysql_connect ( $dbhost, $dbuser, $dbpass );      //数据库连接信息  
  6. mysql_select_db ( 'test1' );                            //选择指定的数据库  
  7. $sql = "SELECT * FROM 'xml' LIMIT 0 , 30 ";  
  8. $result = mysql_query ( $sql );  
  9. $num_rows = mysql_num_rows ( $result );  
  10. for($i = 0; $i < $num_rows; $i ++) {  
  11.     $array [$i] = mysql_fetch_row ( $result );  
  12.     //以下输出标签组成元素  
  13.     echo "<member>";  
  14.     echo "<name>" . $array [$i] [1] . "</name>";  
  15.     echo "<doing>" . $array [$i] [2] . "</doing>";  
  16.     echo "</member>";  
  17. }  
  18. echo '</family>';//输出标签  
  19. ?> 

【代码解读】

上述代码中,使用header()函数给浏览器声明一个表明文件类型的"头",再通过echo函数将标签元素直接输出到浏览器中,完成读取和生成XML格式文件。

(3)执行以上代码将获得一个标准的XML文档,效果如图9.4所示。广州网站设计

图9.4  数据库中信息生成XML文档
(4)打开AjaxDemo.html文件,对页面部分作修改,将获取文件替换为xml.php,这样就完成了动态的从数据库中获得数据并显示的功能了。修改的部分代码如下:
广州网站设计
  1. <body> 
  2. <p> 
  3.     <span id="name"></span> 
  4. </p> 
  5. <form> 
  6. <input type="button" value="显示XML" id="ok" name="ok"onClick="showXml ('xml.php')" /> 
  7. </form> 
  8. </body> 

 

(5)在浏览器中重新运行AjaxDemo.html文件,效果如图9.5所示,可以看到第二列部分信息变成数据库中的内容了。

 

图9.5  数据库驱动的AJAX应用

 

经过以上步骤,基本的AJAX应用流程就完整地实现了。网络上大量AJAX应用的基本结构和思路都是和本章介绍的相同,读者可以仔细体会。

标签:
飞机