ZendFramework tutorial-how to connect to the database and perform addition, deletion, and query (with demo source code download)

Source: Internet
Author: User
Tags mysql host zend framework
This article describes how to connect to a database and perform addition, deletion, and query in the ZendFramework tutorial. it analyzes in detail the implementation methods of ZendFramework database configuration and operations such as adding, deleting, modifying, and querying, for more information about how to connect to a database and perform addition, deletion, and query in the Zend Framework tutorial, see the following example. We will share this with you for your reference. The details are as follows:

First, create a table named message in the database. It has three fields: id, title, and content. id is the primary key.

Now let's start the first step: add a config folder under the application folder, and add a config. ini file here. this is the basic information of the configuration database.

The following code is used:

[General] db. adapter = PDO_MYSQL // enable PDO extension db. config. host = localhost // Mysql host db. config. username = root // username db. config. password = // password, which is empty here. config. dbname = zendoophp // database name

Step 2: add a Message. php file under the models folder under application. the name here is the same as the data table name.

<?phpclass Message extends Zend_Db_Table {protected $_name ="message";protected $_primary = 'id';}

Step 3: Add the following code to index. php in our entry file:

// Configure the database parameters and connect to the database $ config = new Zend_Config_Ini ('. /application/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: setdefaadapter adapter ($ dbAdapter); Zend_Registry: SET ('dbadapter ', $ dbAdapter );

Step 4: We need to operate our IndexController. php controller. There are four methods respectively. Their role is to add data, modify,

Delete data. The program is as follows .. (I have annotations for Programmers. I will not talk about it here !) :

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 (); // instantiate the database class // assign a value to the variable in the index. the phtml template shows $ this-> view-> bodyTitle = 'Hello World! '; // Obtain all data. 2d array $ this-> view-> messages = $ message-> fetchAll ()-> toArray (); // print_r ($ this-> view-> messages ); echo $ this-> view-> render ('index. phtml'); // Display template} function addAction () {// if it is a POST value. add. otherwise, add the page if (strtolower ($ _ SERVER ['request _ method']) = 'post') {// filter some data. however, some actions are not detected here .. // Please add .. I will not write that much. time relationship .. zend_Loader: loadClass ('zend _ filter_striptags'); $ filter = new Zend_Filter_StripTags (); $ con Tent = $ 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: you have added data! Please $ this-> view-> baseUrl. '/index/"> Return';} else {echo $ this-> view-> render ('add. phtml '); // add template to display} 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); // update table data $ message-> update ($ set, $ where) unset ($ set); echo' you have modified the data! Please $ this-> view-> baseUrl. '/index/"> Return ';} else {$ id = $ filter-> filter ($ this-> _ request-> getParam ('id '))); $ this-> view-> messages = $ message-> fetchAll ('Id = '. $ id)-> toArray (); echo $ this-> view-> render ('edit. phtml'); // display the editing Template} public function delAction () {$ message = new Message (); // delete data by ID. some actions are not performed here. for example, there is no ID page to go. //. I just want to give you an idea .. so it is not so complete $ id = (int) $ this-> _ request-> getParam ('id'); if ($ id> 0) {$ wh Ere = 'Id = '. $ id; $ message-> delete ($ where);} echo' you have deleted the data! Please $ this-> view-> baseUrl. '/index/"> Return ';}}

Step 5: add the corresponding View. that is, the webpage template .. are add. phtml, edit. phtml, index. phtml. this is also annotated in the program. please download the file and run it.

Click here to download the complete instance code.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.