当前位置: 移动技术网 > IT编程>开发语言>PHP > Zend Framework教程之连接数据库并执行增删查的方法(附demo源码下载)

Zend Framework教程之连接数据库并执行增删查的方法(附demo源码下载)

2017年12月12日  | 移动技术网IT编程  | 我要评论

本文实例讲述了zend framework教程之连接数据库并执行增删查的方法。分享给大家供大家参考,具体如下:

我们先要在数据库里建立一个叫message的表,它有三个字段.分别为id,title,content.其中id为主键.

现在我们开始第一步:在application文件夹下面加入一个config文件夹,并在这里面增加一个config.ini文件..这里面是配置数据库基本信息.

如下代码所示:

[general]
db.adapter=pdo_mysql //请开启pdo扩展
db.config.host=localhost //mysql主机
db.config.username=root //用户名
db.config.password= //密码,我这里为空
db.config.dbname=zendoophp //数据库名

第二步:在application下的models文件夹下增加一个message.php文件..这里命名是以数据表名称相同.

<?php
class message extends zend_db_table {
protected $_name ="message";
protected $_primary = 'id';
}

第三步:接下来..我们要在我们的入口文件index.php里加入下面代码如下:

//配置数据库参数,并连接数据库 
$config=new zend_config_ini('./application/config/config.ini',null, true); 
zend_registry::set('config',$config); 
$dbadapter=zend_db::factory($config->general->db->adapter,
$config->general->db->config->toarray()); 
$dbadapter->query('set names utf8'); 
zend_db_table::setdefaultadapter($dbadapter); 
zend_registry::set('dbadapter',$dbadapter);

第四步:我们就要对我们的indexcontroller.php控制器进行操作了..分别有四个方法.它们的作用就是增加数据,修改,

删除数据.程序如下..(我在程序员都有注解.这里不就多说!):

class indexcontroller extends zend_controller_action 
{ 
 function init() 
 { 
  $this->registry = zend_registry::getinstance(); 
  $this->view = $this->registry['view']; 
  $this->view->baseurl = $this->_request->getbaseurl(); 
 } 
 function indexaction() 
 {  
  $message=new message();//实例化数据库类 
  //这里给变量赋值,在index.phtml模板里显示 
  $this->view->bodytitle = 'hello world!'; 
  //取到所有数据.二维数组 
  $this->view->messages=$message->fetchall()->toarray(); 
  //print_r( $this->view->messages); 
  echo $this->view->render('index.phtml');//显示模版 
 } 
 function addaction(){ 
 //如果是post过来的值.就增加.否则就显示增加页面 
 if(strtolower($_server['request_method'])=='post'){ 
 //过滤一些数据.不过这里还有检测一些动作没有做..
 //请大家加了..我就不多写那么多了.时间关系.. 
 zend_loader::loadclass('zend_filter_striptags'); 
 $filter=new zend_filter_striptags(); 
 $content=$filter->filter(($this->_request->getpost('content'))); 
 $title=$filter->filter(($this->_request->getpost('title'))); 
 $message=new message(); 
 $data=array( 
 'content'=>$content, 
 'title'=>$title 
 );
 $message->insert($data); 
 unset($data); 
 echo '您增加数据成功!请您 
 $this->view->baseurl.'/index/index/">返回'; 
  }else{ 
   echo $this->view->render('add.phtml');//显示增加模版 
  } 
 } 
 public function editaction(){ 
 $message=new message(); 
 $db = $message->getadapter(); 
 zend_loader::loadclass('zend_filter_striptags'); 
 $filter=new zend_filter_striptags(); 
 //同上面addaction 
 if(strtolower($_server['request_method'])=='post'){ 
 $content=$filter->filter(($this->_request->getpost('content'))); 
 $title=$filter->filter(($this->_request->getpost('title'))); 
 $id=$filter->filter(($this->_request->getpost('id'))); 
  $set=array( 
  'content'=>$content, 
  'title'=>$title 
 ); 
 $where = $db->quoteinto('id = ?', $id); 
 //更新表数据 
 $message->update($set, $where) 
 unset($set);  echo '您修改数据成功!请您 
 $this->view->baseurl.'/index/index/">返回'; 
 }else{ 
  $id=$filter->filter(($this->_request->getparam('id'))); 
 $this->view->messages=$message->fetchall('id='.$id)->toarray(); 
  echo $this->view->render('edit.phtml');//显示编辑模版 
   } 
 } 
public function delaction() 
{ $message=new message(); 
 //能过id删除数据.这里有一些动作没有做.比如说没有id页面要去哪里. 
  //.我只是给大家一个思想..所以不会那么完整 
 $id = (int)$this->_request->getparam('id'); 
 if ($id > 0) { 
   $where = 'id = ' . $id; 
   $message->delete($where); 
 } 
 echo '您删除数据成功!请您 
 $this->view->baseurl.'/index/index/">返回'; 
 } 
}

第五步:就是增加对应的view.也就是网页模板..分别是add.phtml,edit.phtml,index.phtml.这在程序里也有注解.请大家下载文件运行查看.

完整实例代码点击此处。

更多关于zend相关内容感兴趣的读者可查看本站专题:《zend framework框架入门教程》、《php优秀开发框架总结》、《yii框架入门及常用技巧总结》、《thinkphp入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家基于zend framework框架的php程序设计有所帮助。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网