即時通訊仍在學習codeigniter,並提出了一個問題。那是 您必須使用「set」方法更新條目。無法更新產品表獲取您必須使用「set」方法來更新條目
我想更新一個表:下面包含product_name,product_desc等欄的產品是我的控制器,視圖和模型..我無法弄清楚我做錯了什麼..我總是檢查出print_r($ array) ;它給了我一個空陣列...雖然我確實在鏈接上輸入字段中顯示產品詳細信息:ci/index.php/admin/product/1 ..
將視圖的一半代碼視爲視圖代碼是長..
控制器:
// ****爲編輯產品**** //
public function edit_products(){
$data = array ('product_name'=>$this->input->post('product_name'),
'product_desc'=>$this->input->post('product_desc'),
'product_stock'=>$this->input->post('product_stock'),
'product_sku'=>$this->input->post('product_sku'),
'inventory_date'=>$this->input->post('inventory_date'),
'product_price'=>$this->input->post('product_price'),
'featured_product'=>$this->input->post('featured_product'),
'best_seller'=>$this->input->post('best_seller'),
'brand_id'=>$this->input->post('brand_id'),
);
$upd_pr = $this->mainmodel->update_product($_POST);
if($upd_pr){
$this->session->set_flashdata('messages', 'Updated Sucessfully');
redirect('admin/editing_products');
}else{
$this->session->set_flashdata('error', 'Updation Failed');
redirect('admin/editing_products');
}
}
public function editing_products(){
$data['product']=$this->mainmodel->set_pro2();
//$data['images'] = $this->products->images($id);
$data['content']='admin/edit_products';
$this->load->view('admin/main',$data);
}
型號:
/*for update Product*/
public function update_product($array){
extract($array);
//print_r($array);
//die;
$this->db->update('product',array('product_name'=>$product_name,'product_desc'=>$product_desc,'inventory_date'=>$inventory_date,'product_price'=>$product_price,'featured_product'=>$featured_product,'best_seller'=>$best_seller,'brand_id'=>$brand_id));
$this->db->update('product');
return ;
}
function set_pro2(){
$q = $this->db->query('SELECT * FROM product,product_image,category_product WHERE product.product_id = category_product.product_id AND product.product_id = 1 LIMIT 1');
如果($ Q-> NUM_ROWS()> 0){
foreach($q->result() as $row){
$data[] = $row;
}
return $data;
}
}
查看:
<form class="form-horizontal form-row-seperated" enctype="multipart/form-data" action="<?php echo site_url('admin/edit_products') ?>" method="post">
<div class="form-group">
<?php foreach($product as $pro){ ?>
<label class="col-md-2 control-label">Name:<span class="required">
* </span>
</label>
<div class="col-md-10">
<input type="text" class="form-control" name="product_name" placeholder="" value="<?php echo $pro->product_name; ?>">
</div>
</div>
<div class="form-group">
<label class="col-md-2 control-label">Description: <span class="required">
* </span>
</label>
<div class="col-md-10">
<input type="text" class="form-control" name="product_desc" value="<?php echo $pro->product_desc; ?>">
</div>
</div>
在您的模型中,在update_product函數中,您有2個更新函數。刪除第二個,看看是否有效... – Craig
謝謝非常我刪除了第二次更新,它的工作..但它是更新所有的產品..但不是正在被選中的... –
你'必須設置WHERE。 $ this-> db-> where('product_name',$ array ['product_name']);假設產品名稱是唯一的。 – Craig