回复:在 AJAX 开发中集成数据库技术
下面的getPost方法是一个回调方法-它负责当从PHP对象收到响应时更新单独的职务:
function getPost(){ if(checkReadyState(request)) {var response = request.responseXML.documentElement;var _title = response.getElementsByTagName('title')[getIndex()].firstChild.data;var _description = response.getElementsByTagName('description')[getIndex()].firstChild.data;var _date = response.getElementsByTagName('date')[getIndex()].firstChild.data;document.getElementById("title_"+ getIndex()).innerHTML = _title;document.getElementById("description_"+ getIndex()).innerHTML = _description;document.getElementById("date_"+ getIndex()).innerHTML = _date;toggle(getIndex()); }}
· 下面的deletePost方法把当前索引作为一个请求发送给PHP对象,这最终将删除数据库中的记录并以更新的职务进行响应: function deletePost(_id){ sendRequest("services/post.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.php'); $this->table = "informit_ajax";}
下面的dbConnect方法负责创建连接-通过把登录信息传送给数据库;这个方法被重用于查询数据库前的所有核心方法中:
function dbConnect(){ DEFINE ('LINK', mysql_connect (DB_HOST, DB_USER, DB_PASSWORD));}