mysql - dynamic fetch data function -


i have made simple database application in zend framework.in have made user class , defined different function database interaction.this function called controller class..but have declare each time class object calling method of user class in each action.how can declare user class object 1 time , use in action method of controller. here controller page class usercontroller extends zend_controller_action {

    public function init()     {          /* initialize action controller here */         zend_session::start();      }       public function indexaction()     {          $title = zend_registry::get('title');         $this->view->assign('name', 'wiwit');         $this->view->assign('title', $title);     }       public function logoutaction()     {          zend_session::destroy();         $this->redirect("/user/login");      }       public function registeraction()     {          $this->view->assign('title','register');         $request = $this->getrequest();         $this->view->assign('action', $request->getbaseurl()."/user/register");         if($request->ispost())          {         $data = array('first_name' => $request->getparam('first_name'),                       'last_name' => $request->getparam('last_name'),                       'user_name' => $request->getparam('user_name'),                       'password' => $request->getparam('password')                       );          $user = new application_model_user();         $rows_affected=$user->user_insert($data);         $this->redirect("/user/login");         }      }     public function loginaction()         {             if(isset($_session['username']))             {                 $this->redirect("/user/home");             }             $this->view->assign('title','register');             $request = $this->getrequest();             $this->view->assign('action', $request->getbaseurl()."/user/login");             if($request->getparam('msg'))             {                  $this->view->msg='username or password invalid';             }             if($request->ispost())              {                 $data = array(                               'user_name' => $request->getparam('user_name'),                               'password' => $request->getparam('password')                               );                  $user = new application_model_user();                 $result=$user->user_login($data);                 if(empty($result)){                  $this->redirect("/user/login/msg/login failed");              }             else{                 $_session['username']=$result->user_name;                  $this->redirect("/user/home");              }               }         }          public function homeaction()         {             if(isset($_session['username']))             {                 $this->view->title='home';                 $request = $this->getrequest();                 $user = new application_model_user();                 $result=$user->user_grid();                 $this->view->rows=$result;             }             else             {                 $this->redirect("/user/login");             }         }           public function editaction()         {           $request = $this->getrequest();          $id= $request->getparam("id");          $user = new application_model_user();         $result=$user->user_edit($id);          $this->view->assign('data',$result);         $this->view->action= $request->getbaseurl()."/user/update";      }       }   , here user class  <?php  class application_model_user extends zend_db_table {        public function user_insert($data)           {                 global $db;            $rows_affected = $db->insert('user', $data);         return  $rows_affected;       }        public function user_login($data)           {                 $u_name=array_shift($data);         $pass=array_shift($data);         $select = $this->_db->select()                         ->from('user')                         ->where("user_name = ?",$u_name)                         ->where("password = ?",$pass);                         $result = $this->getadapter()->fetchrow($select);                         return $result;         }         public function user_grid()           {            global $db;             $sql = 'select * user';         $stmt = $db->query($sql);         $result = $stmt->fetchall();         return $result;       }        public function user_edit($data)           {                 $select = $this->_db->select()                         ->from('user')                         ->where("id = ?",$data);                         $result = $this->getadapter()->fetchrow($select);                         $data = (array) $result;                         return $data;         }        public function userupdate($data,$id)           {             global $db;           $rows_affected =$db->update('user', $data,'id = '.$id);         return  $rows_affected;       }         public function userdelete($id)           {             global $db;           $rows_affected =$db->delete('user','id = '.$id);         return  $rows_affected;       } } ?> 

you can create user object in init() method, , store class variable.

public function init() {      /* initialize action controller here */     zend_session::start();     $this->user = new application_model_user(); } 

then it's available in action method.

public function homeaction() {     if(isset($_session['username']))     {         $this->view->title='home';         $request = $this->getrequest();         $result = $this->user->user_grid(); // changed         $this->view->rows=$result;     }     else     {         $this->redirect("/user/login");     } } 

Comments

Popular posts from this blog

matlab - Deleting rows with specific rules -

php - MySQLi multi_query results for later use -