<?php
//類名最好跟數據庫表名一致,控制器類調用該類時纔不會報錯
class Goods extends Zend_Db_Table{
protected $_name="goods"; //表名 protected $_primary="id"; //主鍵
/** * 【主鍵查詢商品信息】 find($id) * @find($id):單條記錄 * @find(array($id1,$id2,$id3)):多條記錄 */ public function selectGoodsById($id){ // SELECT * FROM goods // WHERE id = $id $row=$this->find($id); // SELECT * FROM goods WHERE id in($id1,$id2,$id3) //$rowset=$this->find(array($id1,$id2,$id3)); return $row; }
/** * 【條件查找商品信息】 fetchRow($where,$order) * * @fetchRow($where,$order):非主鍵的條件來返回知足條件的第一行數據 * @zend framework 不會對where語句進行加引號處理,因此你須要 經過zend_db_adapter進行數據處理. */ public function selectGoodsByOtherColumn($id){ // SELECT * FROM goods // WHERE id=$id // ORDER BY id $db=$this->getAdapter(); $where=$db->quoteInto("id=?",$id); $order='id'; $row=$this->fetchRow($where, $order); return $row; }
/** * 【查詢全部商品】 * * fetchAll($where,$order,$count,$offset) */ public function selectAllGoods(){ // SELECT * FROM round_table // WHERE noble_title = "Sir" // ORDER BY first_name // LIMIT 10 OFFSET 20 $where=null; //where條件 $order='id'; //排序 $count=10; //查詢的數量 $offset=20; //偏移量 $rowset=$this->fetchAll($where, $order, $count, $offset); return $rowset; }
/** * 【添加商品】 insert($data) * * @ (zend framework) 會自動對數據進行加引號處理, 並返回插入的最後一行的id值 * (注意:這裏不一樣於 zend_db_adapter::insert方法,後者返回的是插入的行數). */ public function insertGoods($id,$gname,$price,$amount){ //INSERT INTO goods (id,gname,price,amount) VALUES($id,$gname,$price,$amount); $rid=$this->insert(array('id'=>$id,'gname'=>$gname,'price'=>$price,'amount'=>$amount)); return $rid; }
/** * 【修改商品】 update($set,$where) * * @zend framework 不會對where語句進行加引號處理,因此你須要 經過zend_db_adapter進行數據處理. * (經過一個where條件決定刪除的行,並返回受影響行數) */ public function updateGoods($id,$gname,$price,$amount){ // update goods set id=$id, gname=$gname, price=$price, amount=$amount; $set=array( "id"=>$id, "gname"=>$gname, "price"=>$price, "amount"=>$amount); $db=$this->getAdapter(); $where=$db->quoteInto("id=?",$id); $rows_affcted=$this->update($set, $where); return $rows_affcted; }
/** * 【刪除商品】 delete($where) * * @zend framework 不會對where語句進行加引號處理,因此你須要 經過zend_db_adapter進行數據處理. * (經過一個where條件決定刪除的行,並返回受影響行數) */ public function deleteGoods($id){ // DELETE FROM goods WHERE id=$id; $db=$this->getAdapter(); $where=$db->quoteInto("id",$id); $rows_affcted=$this->delete($where); return $rows_affcted; } }