使用codeigniter中的一个查询更新数据库上的所有表行

时间:2015-10-29 18:16:14

标签: php mysql codeigniter

我的数据库中有一个名为settings的表 它有3个字段idkeyvalue 我需要使用一个查询更新一个页面中的所有设置

这是我的设置模型

class Settings_model extends CI_Model{
    /*
    * Get global settings
    */
    public function get_global_settings() {
      $query  = $this->db->get('settings');
      $result = $query->result();
      return $result;
    }

    /* Update setting */
    public function update($data, $id) {
        $this->db->where('id', $id);
        $this->db->update('settings', $data);
        return true;
    }
}

这是我的控制器

class Settings extends MY_Controller{
    public function __construct() {
        parent::__construct();

        //Access control
        if(!$this->session->userdata('logged_in')) {
            redirect('admin/login');
        }
    }

    public function index(){

        // Get Categories
        $data['settings'] = $this->Settings_model->get_global_settings();

        // Load View
        $data['main_content'] = 'admin/settings/index';
        $this->load->view('admin/layouts/main',$data);
    }

    public function edit($id) {
        // Calidation Rules
        $this->form_validation->set_rules('value','Name','trim|required|xss_clean');

        $data['settings'] = $this->Settings_model->get_group($id);


        if($this->form_validation->run() == FALSE) {
          // View
          $data['main_content'] = 'admin/settings/edit';
          $this->load->view('admin/layouts/main',$data);

        } else {
          // Create Articles Data Array
          $data = array (
                'value'    => $this->input->post('value')
          );

          // Articles Table Insert
          $this->Settings_model->update($data, $id);

          // Create message
          $this->session->set_flashdata('setting_saved', 'Your setting has been saved');

          // Redirect page
          redirect('admin/settings');
        }

    }

}

但它只按id

更新一行

我需要创建一个foreach循环来更新所有行

0 个答案:

没有答案