Professional Documents
Culture Documents
Zend DB
Zend DB
Kh i t o Zend_Db
M: CH N T T C
$db = Zend_Db::factory('Pdo_Mysql', array ('host' => 'localhost', 'username' => 'root', 'password' => '', 'dbname' => 'company_2'));
2. setFetchMode ($constant) FETCH_OBJ Tr kt qu truy vn thnh cc i tng FETCH_ASSOC Tr kt qu truy vn thnh nhng mng lin tc, gi nguyn tn ca field FETCH_NUM Tr kt qu truy vn thnh mng, tn field s c chuyn thnh s lin tc FETCH_BOTH Tr kt qu truy vn thnh mng, mng bao gm kt qu ca 2 kiu FETCH_ASSOC v FETCH_NUM V d 2.1: Chuy n k t qu truy v n thnh m t m ng ch a cc tn field
M: CH N T T C
$db = Zend_Db::factory('Pdo_Mysql', array ('host' => 'localhost', 'username' => 'root', 'password' => '', 'dbname' => 'company_2')); $db->setFetchMode(Zend_Db::FETCH_OBJ);
3. fetchAll($sql,$bind) - Phng thc fetchAll l phng thc ly d liu trong CSDL. N tng t nh cu lnh Select ca MySQL
Tham s :
$sql: Cu lnh truy vn $bind: Mng gi tr truyn vo khi truy vn V d 3.1: Li t k nh ng thnh vin c group_id = g002 v c member_status = 1
MySQL query
M: CH N T T C
$sql = "SELECT member_id, member_name, user_name FROM members WHERE group_id = 'g002' AND member_status = 1"; mysql_query($sql);
Zend_Db
M: CH N T T C
$sql = "SELECT member_id, member_name, user_name FROM members WHERE group_id = 'g002' AND member_status = 1"; $db->fetchAll($sql);
MySQL query
M: CH N T T C
$group_id = 'g002'; $member_status = 1; $sql = "SELECT member_id, member_name, user_name FROM members WHERE group_id = '" . $group_id . "' AND member_status = " . $member_status; mysql_query($sql);
Zend_Db
M: CH N T T C
4. fetchAssoc ($sql,$bind) - Phng thc fetchAssoc tng t nh fetchAll l phng thc ly d liu trong CSDL nhng n s tr v mt mng d liu cho d setFetchMode() ch no i na
Tham s :
$sql: Cu lnh truy vn $bind: Mng gi tr truyn vo khi truy vn V d 4.1: Li t k nh ng thnh vin c group_id = g002 v c member_status = 1 (truy n tham s )
M: CH N T T C
$db->setFetchMode(Zend_Db::FETCH_OBJ); $sql = "SELECT member_id, member_name, user_name FROM members WHERE group_id = ? AND member_status = ?"; $db->fetchAssoc($sql,array('g002',1));
5. fetchCol ($sql,$bind) - Phng thc fetchCol l phng thc ly d liu trong CSDL nhng n ch tr v gi tr ca field u tin trong kt qu truy vn Tham s : $sql: Cu lnh truy vn $bind: Mng gi tr truyn vo khi truy vn V d 5.1: Li t k m thnh vin c group_id = g002 v c member_status = 1 (truy n tham s )
M: CH N T T C
$sql = "SELECT * FROM members WHERE group_id = ? AND member_status = ?"; $db-> fetchCol($sql,array('g002',1));
VietRuss On Holiday
Bi vit: 193 Ngy tham gia: 27/10/2009 12:21 n t: USB Gi: thanks Nhn: thanks u t r a n g
6. fetchPairs($sql,$bind) - Phng thc fetchPairs ging phng thc fetchCol ly d liu trong CSDL nhng n ch tr v gi tr ca field th 2 trong kt qu truy vn
Tham s :
$sql: Cu lnh truy vn $bind: Mng gi tr truyn vo khi truy vn V d 6.1: Li t k m thnh vin c group_id = g002 v c member_status = 1 (truy n tham s )
M: CH N T T C
$sql = "SELECT * FROM members WHERE group_id = ? AND member_status = ?"; $db-> fetchPairs($sql,array('g002',1));
7. fetchRow($sql,$bind) - Phng thc fetchRow l phng thc ly d liu trong CSDL nhng n ch tr v mt dng d liu duy nht
Tham s :
$sql: Cu lnh truy vn $bind: Mng gi tr truyn vo khi truy vn V d 7.1: Li t k m thnh vin c group_id = g002 v c member_status = 1 (truy n tham s )
M: CH N T T C
$sql = "SELECT * FROM members WHERE group_id = ? AND member_status = ?"; $db-> fetchRow($sql,array('g002',1));
8. fetchOne ($sql,$bind) - Phng thc fetchOne l phng thc ly d liu trong CSDL nhng n ch tr v mt gi tr duy nht
Tham s :
$sql: Cu lnh truy vn $bind: Mng gi tr truyn vo khi truy vn V d 8.1:
M: CH N T T C
$sql = "SELECT * FROM members WHERE group_id = ? AND member_status = ?"; $db-> fetchOne($sql,array('g002',1))
Tham s :
$table: tn bng $bind: Mng gi tr a vo CSDL V d 9.1: Thm m t dng d li u vo b ng groups
M: CH N T T C
$data = array( 'group_id' 'group_name' 'group_status' ); => 'g004', => 'Nghien cuu', => 1
$db->insert('members', $data);
10. lastInsertId ($table, $primaryKey) - Phng thc lastInsertId l phng thc ly ID ca mt record va c thm vo bng phng thc insert()
Tham s :
$table: tn bng $primaryKey: Kha chnh ca bng V d 10.1: Thm m t dng d li u vo b ng members
M: CH N T T C
$data = array( 'member_name' 'user_name' 'email' 'password' 'register_date' 'member_status' 'group_id' ); => 'Pham Vu Khanh', => 'KhanhPham', => 'vukhanh2212@gmail.com', => md5('123456'), => date('Y-m-d 00:00:00'), => 1, => 'g001'
11. update($table, $data,$where) - Phng thc update l phng thc cp nht d liu vo CSDL
Tham s :
$table: tn bng $data: Mng gi tr a vo CSDL $where: iu kin cp nht V d 11.1: Thm m t dng d li u vo b ng groups
M: CH N T T C
$where = " group_id = 'g004'"; $data = array( 'group_name' 'group_status' ); => 'Research', => 1
VietRuss On Holiday
Bi vit: 193 Ngy tham gia: 27/10/2009 12:21 n t: USB Gi: thanks Nhn: thanks u t r a n g
khachau86 Member
Bi vit: 3 Ngy tham gia: 08/11/2009 22:14 Gi: thanks Nhn: thanks u t r a n g
FETCH_OBJ Tr kt qu truy vn thnh cc i tng FETCH_ASSOC Tr kt qu truy vn thnh nhng mng lin tc, gi nguyn tn ca field
FETCH_NUM Tr kt qu truy vn thnh mng, tn field s c chuyn thnh s lin tc FETCH_BOTH Tr kt qu truy vn thnh mng, mng bao gm kt qu ca 2 kiu FETCH_ASSOC v FETCH_NUM
Em lm ti y nhng vn cha hiu my ci ny lm. vn cha hiu Tr kt qu truy vn thnh cc i tng, Tr kt qu truy vn thnh nhng mng lin tc, gi nguyn tn ca field............ l th no ??? Vic chn cc FETCH_ trn th cch ly d liu ca cc trng hp trn nh th no ???
thanhloc Member
Bi vit: 109 Ngy tham gia: 09/11/2009 15:28 Gi: thanks Nhn: thanks u t r a n g
FETCH_ASSOC Tr kt qu truy vn thnh nhng mng lin tc, gi nguyn tn ca field FETCH_NUM Tr kt qu truy vn thnh mng, tn field s c chuyn thnh s lin tc FETCH_BOTH Tr kt qu truy vn thnh mng, mng bao gm kt qu ca 2 kiu FETCH_ASSOC v FETCH_NUM
V d
M: CH N T T C
$db = Zend_Db::factory('Pdo_Mysql', array ('host' => 'localhost', 'username' => 'root', 'password' => '', 'dbname' => 'company_2'));
$db->setFetchMode(Zend_Db::FETCH_OBJ);
$sql = "SELECT member_id, member_name, user_name FROM members WHERE group_id = 'g002' AND member_status = 1"; $result = $db->fetchAll($sql);
Sau khi chy v d trn bc s thy kt qu hin th. i vi v d trn em dng FETCH_OBJ. Bc ln lt thay dng
M: CH N T T C
$db->setFetchMode(Zend_Db::FETCH_OBJ);
Thnh
M: CH N T T C
$db->setFetchMode(Zend_Db::FETCH_ASSOC);
Thnh
M: CH N T T C
$db->setFetchMode(Zend_Db::FETCH_NUM );
Thnh
M: CH N T T C
$db->setFetchMode(Zend_Db::FETCH_BOTH );
VietRuss On Holiday
Bi vit: 193 Ngy tham gia: 27/10/2009 12:21 n t: USB Gi: thanks Nhn: thanks u t r a n g
Vi FETCH_OBJ th kt qu mun truy vn theo dng Object ($result->row->field). FETCH_ASSOC th theo dng Array ($result['rownum']['fieldname']). FETCH_NUM th theo dng Array ($result['rownum'][fieldnum]). FETCH_BOTH th truy vn theo kiu ASSOC hoc NUM u c
laktrui Member
Bi vit: 12 Ngy tham gia: 08/04/2010 20:05 Gi: thanks Nhn: thanks u t r a n g
cm n bn VietRuss nhiu
sherchicken Member
Bi vit: 1 Ngy tham gia: 15/10/2010 19:51 Gi: thanks Nhn: thanks u t r a n g
VietRuss vi t: 6. fetchPairs($sql,$bind)
$where = " group_id = 'g004'"; $data = array( 'group_name' 'group_status' ); => 'Research', => 1
Trong VD ny nu nh thay v gi tr xc nh ca group_id l 'g004', nu mnh mun truyn 1 gi tr xc nh nh l bin $id chng hn th mnh truyn th no vy bn? Nu mnh ghi l $where = " group_id = $id th n ch ly c khi bin $id l kiu s, cn nu bin $id l kiu ch th khng truyn c ?
ayk Member
Bi vit: 124 Ngy tham gia: 10/02/2011 22:50 Gi: thanks Nhn: thanks u t r a n g
M: CH N T T C
$where = 'group_id='.$id
degea9 On Holiday
Bi vit: 268 Ngy tham gia: 13/11/2010 02:24 Gi: thanks Nhn: thanks
u t r a
n g
M: CH N T T C
$where = " group_id ='$id' "; $data = array( 'group_name' 'group_status' ); => 'Research', => 1
ban truyen $id nhu trn, v $id l chui nn phi c ' '
Mnh s hng dn bn load 1 bng ln nh, mnh cng l mem mi, hi g t,. bn xem tham kho nh.... Trc ht n gin bn vit ngay trong IndexController lun nh... Bn vit trong indexAction() lun, khi chy v trang n s load ci table ln lun
M: CH N T T C
mnh tch ring ci hm select table ln cho bn d hiu, ci hm ny bn t trong ci IndexController lun th
M: CH N T T C
private function listnd(){ $db=Zend_Registry::get('connectDB'); $sql="SELECT MA_NV,HTEN_NV,DCHI_NV FROM nhan_vien"; $result=$db->fetchAll($sql); return $result; }
<?php foreach($this->dsnhanvien as $dsnhanvien) : ?> <span>Ma Nhan Vien</span><?php echo $this>escape($dsnhanvien['MA_NV']);?><br/> <span>Hten Nhan Vien</span><?php echo $this>escape($dsnhanvien['HTEN_NV']);?><br/> <span>Dchi Nhan Vien</span><?php echo $this>escape($dsnhanvien[DCHI_NV']);?> <?php endforeach;?>
Nh th l c th truy vn c 1 bng t c s d liu v hin th ln trang web i y, y ch l c bn, bn cn xem thm v Zend_DB nh. kt ni n server vo thao tc vi database: trc ht bn vo file application.ini thm on m sau nh:
M: CH N T T C
resources.db.adapter = "PDO_MYSQL" resources.db.params.host = "localhost" resources.db.params.username = "root" ---------> ti khon ngi dng trn server ca bn resources.db.params.password = ----------> mt khu resources.db.params.dbname = "qlttbth" ----------> tn database mun kt ni n resources.db.params.driver_options.1002 = "SET NAMES utf8" ----> thit t hin th ting vit
protected function _initDb() { $dbOption = $this->getOption('resources'); $dbOption = $dbOption['db']; // Setup database $db = Zend_Db::factory($dbOption['adapter'], $dbOption['params']); $db->setFetchMode(Zend_Db::FETCH_ASSOC); $db->query("SET NAMES 'utf8'"); $db->query("SET CHARACTER SET 'utf8'");
Zend_Registry::set('connectDB',$db); //Khi thiet lap che do nay model moi co the su dung duoc Zend_Db_Table::setDefaultAdapter($db); // Return it, so that it can be stored by the bootstrap return $db; }
// Tn bng protected $_name = 'donvi'; // Tn kha chnh ca bng, nu kha chnh gm nhiu thuc tnh ta s dng mng array khai bo protected $_primary = 'msdv'; // m s phn t public function countItem($arrParam = null, $options = null){ $db = Zend_Registry::get('connectDb'); $select = $db->select() ->from('donvi',array('COUNT(msdv) AS totalItem')); $result = $db->fetchOne($select); return $result; } // Danh sch n v public function listItem($arrParam = null, $options = null){ $db = Zend_Registry::get('connectDb'); if($options['task'] == 'donvi-list'){ $select = $db->select() ->from('donvi as dv',array('msdv','dv_ten')) ->joinLeft('kieudonvi as kdv', 'kdv.mskieu = dv.mskieu','kdv_ten'); $result = $db->fetchAll($select); } return $result; } // Lu d liu vo database public function saveItem($arrParam = null, $options = null){ // Thm thng tin n v if($options['task'] == 'donvi-add'){ $row = $this->fetchNew(); $row->msdv = $arrParam['msdv']; $row->dv_ten = $arrParam['dv_ten']; $row->mskieu = $arrParam['mskieu']; $row->save(); } // Sa thng tin n viij khi bit m n v if($options['task'] == 'donvi-edit'){ $where = ' msdv = ' . '"'. $arrParam['msdv']. '"' ; $row = $this->fetchRow($where); $row->dv_ten = $arrParam['dv_ten']; $row->mskieu = $arrParam['mskieu']; $row->save(); } } // Xa thng tin n v khi bit m s n v public function deleteItem($arrParam = null, $options = null){ if($options['task'] == 'donvi-delete'){ $where = ' msdv = ' . '"' . $arrParam['msdv'] . '"'; $this->delete($where); }
// Hin th danh sch n v // http://localhost/donvi/donvi/index public function indexAction(){ // To i tng thuc Model_DonVi $tblDonVi = new Tltb_Model_DonVi(); // Truyn ra view $this->view->Items = $tblDonVi->listItem($this->_arrParam, array('task'=>'donvi-list')); // In danh sch n v echo "<pre>"; print_r($this->view->Items); echo "</pre>"; }
// Thm n v // Thc hin: http://localhost/donvi/donvi/add public function addAction(){ $tblDonVi = new Tltb_Model_DonVi(); // Mng thng tin n v cn thm, n gin ti t to mng ny, ngai thc t mng ny do ngi dng // nhp vo v chng ta s phi s dng Zend_Validate kim tra gi tr hp l $arrParam = array( 'msdv' => 'DV201', 'dv_ten' => 'Khoa Gio dc th cht', 'mskieu' => 'KDV01' ); //Gi phng thc saveItem - trng hp thm n v $tblDonVi->saveItem($arrParam,array('task'=>'donvi-add')); } // Sa thng tin DonVi // Thc hin: http://localhost/donvi/donvi/edit public function editAction(){ $tblDonVi = new Tltb_Model_DonVi(); $arrParam = array( 'msdv' => 'DV201', 'dv_ten' => 'Khoa Th dc th thao', 'mskieu' => 'KDV01' ); $tblDonVi->saveItem($arrParam, array('task'=>'donvi-edit')); } // delecteAction: Xa n v // Thc hin: http://localhost/donvi/donvi/delete public function deleteAction(){ $tblDonVi = new Tltb_Model_DonVi(); $arrParam = array( 'msdv' => 'DV201', ); $tblDonVi->deleteItem($arrParam,array('task'=>'donvidelete')); } }
San pham sanpham/sp1 Sp1 sanpham/sp1 Sp2 sanpham/sp2 Sp2 sanpham/sp3 ngoc.ha@gen.vn