> php教程 > PHP开发 > 본문

Zend 프레임워크 튜토리얼: 데이터베이스에 연결하고 추가 및 삭제 쿼리를 수행하는 방법

高洛峰
풀어 주다: 2017-01-05 11:10:16
원래의
1165명이 탐색했습니다.

이 기사의 예에서는 데이터베이스에 연결하고 추가, 삭제 및 쿼리를 수행하는 Zend Framework 튜토리얼 방법을 설명합니다. 참고를 위해 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.

먼저 데이터베이스에 메시지라는 테이블을 만들어야 합니다. 이 테이블에는 id, title, content라는 세 가지 필드가 있습니다. id가 기본 키입니다.

이제 첫 번째 단계를 시작합니다. 애플리케이션 폴더 아래에 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 //数据库名
로그인 후 복사

2단계: 애플리케이션 아래의 모델 폴더에 Message.php 파일을 추가합니다. 여기서 이름은 데이터 테이블의 이름과 동일합니다. 🎜>

<?php
class Message extends Zend_Db_Table {
protected $_name ="message";
protected $_primary = &#39;id&#39;;
}
로그인 후 복사
3단계: 다음.. 다음과 같이 항목 파일 index.php에 다음 코드를 추가해야 합니다.

//配置数据库参数,并连接数据库 
$config=new Zend_Config_Ini(&#39;./application/config/config.ini&#39;,null, true); 
Zend_Registry::set(&#39;config&#39;,$config); 
$dbAdapter=Zend_Db::factory($config->general->db->adapter,
$config->general->db->config->toArray()); 
$dbAdapter->query(&#39;SET NAMES UTF8&#39;); 
Zend_Db_Table::setDefaultAdapter($dbAdapter); 
Zend_Registry::set(&#39;dbAdapter&#39;,$dbAdapter);
로그인 후 복사
4단계: 다음 코드를 실행하려고 합니다. IndexController.php 컨트롤러 ..각각 네 가지 방법이 있습니다. 해당 기능은 데이터 추가, 수정 및

삭제입니다. 절차는 다음과 같습니다. (프로그래머에 주석이 있습니다. 자세한 내용은 여기에서 확인하세요!):

class IndexController extends Zend_Controller_Action 
{ 
 function init() 
 { 
  $this->registry = Zend_Registry::getInstance(); 
  $this->view = $this->registry[&#39;view&#39;]; 
  $this->view->baseUrl = $this->_request->getBaseUrl(); 
 } 
 function indexAction() 
 {  
  $message=new message();//实例化数据库类 
  //这里给变量赋值,在index.phtml模板里显示 
  $this->view->bodyTitle = &#39;Hello World!&#39;; 
  //取到所有数据.二维数组 
  $this->view->messages=$message->fetchAll()->toArray(); 
  //print_r( $this->view->messages); 
  echo $this->view->render(&#39;index.phtml&#39;);//显示模版 
 } 
 function addAction(){ 
 //如果是POST过来的值.就增加.否则就显示增加页面 
 if(strtolower($_SERVER[&#39;REQUEST_METHOD&#39;])==&#39;post&#39;){ 
 //过滤一些数据.不过这里还有检测一些动作没有做..
 //请大家加了..我就不多写那么多了.时间关系.. 
 Zend_Loader::loadClass(&#39;Zend_Filter_StripTags&#39;); 
 $filter=new Zend_Filter_StripTags(); 
 $content=$filter->filter(($this->_request->getPost(&#39;content&#39;))); 
 $title=$filter->filter(($this->_request->getPost(&#39;title&#39;))); 
 $message=new Message(); 
 $data=array( 
 &#39;content&#39;=>$content, 
 &#39;title&#39;=>$title
 );
 $message->insert($data); 
 unset($data); 
 echo &#39;您增加数据成功!请您 
 $this->view->baseUrl.&#39;/index/index/">返回&#39;; 
  }else{ 
   echo $this->view->render(&#39;add.phtml&#39;);//显示增加模版 
  } 
 } 
 public function editAction(){ 
 $message=new Message(); 
 $db = $message->getAdapter(); 
 Zend_Loader::loadClass(&#39;Zend_Filter_StripTags&#39;); 
 $filter=new Zend_Filter_StripTags(); 
 //同上面addAction 
 if(strtolower($_SERVER[&#39;REQUEST_METHOD&#39;])==&#39;post&#39;){ 
 $content=$filter->filter(($this->_request->getPost(&#39;content&#39;))); 
 $title=$filter->filter(($this->_request->getPost(&#39;title&#39;))); 
 $id=$filter->filter(($this->_request->getPost(&#39;id&#39;))); 
  $set=array( 
  &#39;content&#39;=>$content, 
  &#39;title&#39;=>$title
 ); 
 $where = $db->quoteInto(&#39;id = ?&#39;, $id); 
 //更新表数据 
 $message->update($set, $where) 
 unset($set);  echo &#39;您修改数据成功!请您 
 $this->view->baseUrl.&#39;/index/index/">返回&#39;; 
 }else{ 
  $id=$filter->filter(($this->_request->getParam(&#39;id&#39;))); 
 $this->view->messages=$message->fetchAll(&#39;id=&#39;.$id)->toArray(); 
  echo $this->view->render(&#39;edit.phtml&#39;);//显示编辑模版 
   } 
 } 
public function delAction() 
{ $message=new Message(); 
 //能过ID删除数据.这里有一些动作没有做.比如说没有ID页面要去哪里. 
  //.我只是给大家一个思想..所以不会那么完整 
 $id = (int)$this->_request->getParam(&#39;id&#39;); 
 if ($id > 0) { 
   $where = &#39;id = &#39; . $id; 
   $message->delete($where); 
 } 
 echo &#39;您删除数据成功!请您 
 $this->view->baseUrl.&#39;/index/index/">返回&#39;; 
 } 
}
로그인 후 복사
다섯 번째 단계는 해당 뷰, 즉 웹 페이지 템플릿을 추가하는 것입니다. 이들은 add.phtml, edit.phtml, index.phtml입니다. >

이 기사에서 설명하는 내용이 PHP 프로그래밍을 위한 Zend Framework 프레임워크를 기반으로 하는 모든 사람에게 도움이 되기를 바랍니다.

데이터베이스에 연결하고 추가 및 삭제 확인을 수행하는 방법에 대한 더 많은 Zend Framework 튜토리얼을 보려면 PHP 중국어 웹사이트에서 관련 기사를 참고하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿