如何在同一视图页面中提交时检索插入的数据而不在codeigniter中刷新

时间:2013-06-21 16:34:52

标签: codeigniter

我有产品页面,这里都添加产品表格和产品清单。 我只想在添加产品时立即在同一页面的产品列表内容中显示。我的问题是,在我刷新之前它不会显示最近的产品。

它可能是从上到下的问题(选择查询然后插入查询)。我可以解决这种划痕样式(没有codeigniter)。但是codeigniter是如何做到的。我的控制器的产品()是

    public function product(){
    $data['title'] = 'Product'; // Capitalize the first letter
    $this->load->view('templates/header',$data);

    $this->form_validation->set_rules('product', 'Product', 'required|min_length[7]|max_length[7]|numeric');
    $this->form_validation->set_rules('purchase_price', 'Purchase Price', 'required|numeric');
    $this->form_validation->set_rules('sell_price', 'Sell Price', 'required|numeric');
    if ($this->form_validation->run() == FALSE)
    {
                 $data['products']=$this->admin_model->show_product();//my select query
             $this->load->view('admin_panel/product',$data);
    }
    else
    {
            $data['products']=$this->admin_model->show_product();//my select query
            $this->load->view('admin_panel/product',$data);
            $this->admin_model->add_product();//my insert query
    }
    $this->load->view('templates/footer');
}

3 个答案:

答案 0 :(得分:1)

一起插入和检索数据是相同的视图

public function category1()
        {
            $this->form_validation->set_rules($this->config->item('category_settings'));
            $this->form_validation->set_error_delimiters('', '');
            if ($this->form_validation->run('submit') == FALSE) {

             //Display records 

            $data['category1'] = $this->category_model->display_category1();
                    $this->load->view('admin/add_category1',$data);
                } else {

                  //Add record

                    $this->add_category1();

                }
            }



public function add_category1()
    {
          //$parent_category = $this->input->post('parent_category');
          $data    = array(
            'parent_category_name' => $this->input->post('parent_category')
           );
          $insert_category1 = $this->category_model->add_category1($data);

          if($insert_category1){
              $this->session->set_flashdata('item', 'Category Added Successfully');
              redirect(base_url('admin/category/category1'));
          }
    }

答案 1 :(得分:0)

对不起,我弄错了。

从上到下的样式不是选择查询然后插入查询。其插入查询然后选择查询

因此代码

else
{
        $this->admin_model->add_product();//my insert query 
        $data['products']=$this->admin_model->show_product();//my select query
        $this->load->view('admin_panel/product',$data);

}

答案 2 :(得分:0)

您必须使用jQuery来执行此操作,PHP / CodeIgniter无法单独动态更新页面。见http://api.jquery.com/jQuery.ajax/; http://net.tutsplus.com/和类似网站上提供了许多教程。