background image

设置数据库

 

首先创建一个表来保存等级。使用同一条 SQL 分别在三个数据库中创建这个表。

 

清单 1. 创建一个表来保存等级

                

CREATE  TABLE  ' r anks '   (  

' i d '   INT (   10  )   NOT  NULL  AUTO_ INCREMENT  PR IMARY  KEY  ,

' pos t _ id '   INT (   10  )   NOT  NULL  ,

' r ank '   INT (   10  )   NOT  NULL 

)   ENGINE  =  MYISAM  ;

注:

 

只保存 post 的等级不需要使用完整的表。如果更改更新已修改列的方式,可以

 

在 post 

 

表的另一列中处理等级。我们不希望每次有人对 post 

 

评级时就修改 post 数据,

 

并且在设计 Blahg 时,MySQL 或框架都将这样做。此外,如果需要对等级进行更多操作,

 

如记录提交的 post 

 

的数量或最后一次对 post 评级的时间,那么把这些信息放到单独的

表中才有意义。

 

在 Zend 

 

中把 post 

 

等级添加到 Blahg 中

 

需要决定处理 Ajax 请求的组件。虽然给出我们自己的解决方案一点都不困难,但是

 

考虑到本文的目的,每个框架都将使用 Prototype 

 ——

库。需要创建一个保存库的目录

 

 

该目录可以通过浏览器访问,例如 /column/htdocs/zend/scripts/(这是 

代码归档

 

使用的目录)。

 

需要创建一个名为 Ranks.php 

 

的基本 ranks 

 

模型。它应当只是一个模型 shell,就

 

像我们为 posts   

和 comments 

 

所做的。当然,需要创建 ranks 控制器。我们将不为此模

 —— 

型创建任何视图

该控制器将只回传(echo out)所有等级请求的结果。需要两个操

作:readAction 

 

将查找 post 的等级,而 writeAction 将接受提交的等级并查看表

 

中是否有针对该 post 的行。如果有,则用新值更新该等级;否则,将插入一个新的等级

行。无论怎样都将输出新等级,因此可以更新视图中的等级。这些内容非常简单并且可以

 

代码归档

 

 

中找到。现在需要把一些 Ajax 添加到视图中。

 

记住,在这里不添加任何特定于等级的视图。但是需要修改 posts read 视图来包括