频道直达 - 学院 - 下载 - 交易 - 特效 - 字库 - 手册 -排名-工具- 繁體
网页教学网站开发 设为首页
加入收藏
联系我们
建站搜索: 常用广告代码   用户注册 | 用户登陆
您当前的位置:中国建站之家 -> 网站开发设计技术教程 -> Ajax教程 -> 在 AJAX 开发中集成数据库技术(2)

在 AJAX 开发中集成数据库技术(2)

作者:佚名  来源:不详  发布时间:2007-3-25 17:11:35  发布人:圈圈

减小字体 增大字体

 sendRequest("services/post.html" class="wordstyle">php?method=delete"id="+ _id, onResponse);
}

  令人惊讶的是,最复杂的部分已经结束了。下面让我们分析最为关键的部分-数据库交互。

  四、与数据库交互

  为了实现与数据库的交互,你需要创建方法用于检索,插入,代替和删除职务。我选择创建一个post类,其中有get,save和delete方法来处理这些交互。这个类还有一个到数据库连接文件(用于连接到数据库)的参考。你必须用自己的数据库信息来代替登录,口令和数据库名。

DEFINE ('DB_USER', 'USERNAME');
DEFINE ('DB_PASSWORD', 'PASSWORD');
DEFINE ('DB_HOST', 'localhost');
DEFINE ('DB_NAME', 'DATABASE');
$dbc = @mysql_connect (DB_HOST, DB_USER, DB_PASSWORD) OR die ('Could not connect to MySQL: ' . mysql_error() );

  到连接文件的参考以及数据库的名字位于该类的构造器中。你的构造器看上去应该与下面代码相似:

function Post(){
 require_once('mysql_connect.html" class="wordstyle">php');
 $this->table = "informit_ajax";
}

  下面的dbConnect方法负责创建连接-通过把登录信息传送给数据库;这个方法被重用于查询数据库前的所有核心方法中:

function dbConnect(){
 DEFINE ('LINK', mysql_connect (DB_HOST, DB_USER, DB_PASSWORD));
}

  下面的get方法循环遍历数据库表,它基于数据库行创建一个XML字符串,并把该字符串返回给请求者:

function get(){
 $this->dbConnect();
 $query = "SELECT * FROM $this->table ORDER BY id";
 $result = mysql_db_query (DB_NAME, $query, LINK);
 $xml = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>\n";
 $xml .= "<posts>\n";
 while($row = mysql_fetch_array($result)) {
  $xml .= "<post>\n";
  $xml .= "<id>" . $row['id'] . "</id>\n";
  $xml .= "<date>" . $row['date'] . "</date>\n";
  $xml .= "<title><![CDATA[" . $row['title'] . "]]></title>\n";
  $xml .= "<description><![CDATA[" . $row['description'] . "]]></description>\n";
  $xml .= "</post>\n";
 }
 $xml .= "</posts>";
 mysql_close();
 header("Content-Type: application/xml; charset=UTF-8");
 echo $xml;
}

  下面的save方法通过处理更新和插入位置实现两个目的:

function save($id, $title, $description){
$this->dbConnect();
$query = "SELECT * FROM $this->table WHERE id='$id'";
$result = @mysql_query ($query);
if (mysql_num_rows($result) > 0)
{
 $query = "UPDATE $this->table SET title='$title', description='$description', date=NOW() WHERE id='$id'";
 $result = @mysql_query($query);
}
else
{
 $query = "INSERT INTO $this->table (title, description, date) VALUES ('$title', '$description', NOW())";
 $result = @mysql_query($query);
}
mysql_close();
$this->get();
}

  下面的delete方法负责删除一个基于被作为参数传递的ID的位置。然后调用get方法来把新的数据返回到请求文件:

function delete($id){
 $this->dbConnect();
 $query = "DELETE FROM $this->table WHERE id='$id'";
 $result = @mysql_query($query);
 mysql_close();
 $this->get();
}

  五、综合应用

  为了把以上各部分整合到一起,需要创建一个简单的文件来承担XML HTTP请求和html" class="wordstyle">PHP对象之间的通讯桥梁。这时的页面不仅创建html" class="wordstyle">PHP对象,还接收查询并把变量传递给动态生成的方法-在此是指get,save或delete。下面的一个示例查询包括了一个$method和可靠的$id,$title和$description变量。

require_once("../classes/Post.class.html" class="wordstyle">php");

$post = new Post();
$post->$method($id, $title, $description);

  以后我们还会更进一步讨论这些技术。如今的web开发看起来再次变得年轻而充满活力,而我们也很幸运地成为这种新技术时代的一部分。


将本文收藏到QQ书签与更多好友分享
[打 印]
[] [返回上一页] [收 藏]
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
精彩推荐
热门文章
· 注册码大全二
· 注册码大全四
· 注册码大全一
· 要10G免费网络硬盘的请进..
· 通过google 赶快来赚美金..
· 注册码大全十
· 头像-qq头像(qq新头像)4..
· 让你轻松架设FTP服务器1..
· 注册码大全三
· 梦幻背景图片7
· 卡通动物图片6
· 网页制作素材-按钮素材2..
· 让你轻松架设FTP服务器5..
· 风景图片8
· 注册码大全九
· 让你轻松架设FTP服务器2..
关注此文读者还看过
· Photoshop应用实例 巧妙..
· Banner程序
· Dreamweaver构建Blog全程..
· 不用Golobal.asa和sessi..
· Flash矢量绘画实例(3)
· 微软插足Google核心领地..
· 首例站长诉告谷歌Adsens..
· SQL 语法参考手册2
· 使用php动态生成gif时遇..
· PHP网站漏洞的相关总结(..
· PHP技巧:PHP脚本编程中..
· 用ASP随机产生随机数
· 埃里克率Google高层倾巢..
· FrontPage10全透视教程(..
· ASP字数计算函数
· JDBCTM 指南:入门
相关文章
· 在 AJAX 开发中集成数据库技..
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 人才招聘
网站合作、内容监督、商务咨询:QQ: 9576619
Copyright ? 2005--2008 中国建站之家版权所有
粤ICP备05092265号