<?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; } }