zend framework mysql_Zend Framework and Mysql

这个类库扩展了Zend_Db_Table,实现了在MySQL数据库中添加评论、新闻,批准新闻以及获取评论和新闻的功能。核心方法包括insert()用于插入数据,update()用于更新数据,以及query()用于执行SQL查询。类中还定义了approveNews()方法来批量批准新闻。
摘要由CSDN通过智能技术生成

class DatabaseMySQL extends Zend_Db_Table

{

private $db;

public function __construct($params)

{

$this->db = Zend_Db::factory('pdoMysql', $params);

Zend_Db_Table::setDefaultAdapter($this->db);

}

public function addComment($name, $comment, $newsId)

{

$row = array(

'name' => $name,

'comment' => $comment,

'newsId' => $newsId

);

$table = 'comments';

return $this->db->insert($table, $row);

}

public function addNews($title, $content)

{

$row = array(

'title' => $title,

'content' => $content

);

$table = 'news';

return $this->db->insert($table, $row);

}

public function approveNews($ids)

{

$rows_affected = 0;

foreach ($ids as $id) {

$set = array(

'id' => $id,

'approval' => 'T'

);

$table = 'news';

$where = $this->db->quoteInto('id = ?', $id);

$rows_affected += $this->db->update($table, $set, $where);

}

return $rows_affected;

}

public function getComments($newsId)

{

$sql = $this->db->quoteInto(

"SELECT name, comment

FROM comments

WHERE newsId = ?",

$newsId);

if ($result = $this->db->query($sql)) {

return $result->fetchAll();

}

return FALSE;

}

public function getNews($id = 'ALL')

{

$id = sqlite_escape_string($id);

switch ($id) {

case 'ALL':

$sql = $this->db->quoteInto(

"SELECT id,

title

FROM news

WHERE approval = ?",

'T');

break;

case 'NEW':

$sql = $this->db->quoteInto(

"SELECT *

FROM news

WHERE approval != ?",

'T');

break;

default:

$sql = $this->db->quoteInto(

"SELECT *

FROM news

WHERE id = ?",

$id);

break;

}

if ($result = $this->db->query($sql)) {

if ($result->rowCount() != 1) {

return $result->fetchAll();

} else {

// wrap the result in an array

return array($result->fetch());

}

}

return FALSE;

}

}

?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值