使用codeigniter更新数据无效
I am currently working on a project using codeigniter. As part of the project functionalities, it have edit or update function and I got some errors with it, its not working.Here are my codes as follows :
Workers_model
This the edit function or update .
public function edit_workers_details ($worker_id, $data) {
$this->db->where('worker_id', $worker_id);
$this->db->update('worker_tb', $data);
return $this->db->affected_rows();
}
public function get_worker_details ($worker_id) {
$this->db->select();
$this->db->from('worker_tb');
$this->db->where('worker_id', $worker_id);
$query = $this->db->get();
return $query->result_array();
}
**Workers (controller)**
public function edit_worker ($worker_id) {
if ($_POST) {
$worker_details = array (
'worker_fname' => $_POST['worker_fname']
);
$this->Workers_model->edit_workers_details($worker_id, $worker_details);
redirect("Workers/index");
}
$data['details'] = $this->Workers_model->get_worker_details($worker_id);
$this->load->view('Worker/updateWorker',$data);
}
updateWorker (view)
<center>
<h1> Edit Worker Details </h1>
<?php foreach ($details as $detail) {?>
<form role="form" action= "<?php echo site_url("Workers/edit_worker/".$detail['worker_id']);?>" method="POST">
Name: <input type="text" class="form-control" value = "<?php echo $detail['worker_fname'];?>" ><br />
<button type="submit" class="btn btn-primary"> Update </button>
</form>
<?php } ?>
</center>
My problem now is that when I click the Update button it's not working and does not update data.What should I do? Any ideas or help is appreciated. Thanks
我目前正在使用codeigniter处理项目。 作为项目功能的一部分,它有编辑或更新功能,我得到了一些错误,它不起作用。这是我的代码如下: p>
Workers_model strong > p>
这是编辑功能或更新。 p>
public function edit_workers_details($ worker_id,$ data){
$ this-&gt ; db-&gt; where('worker_id',$ worker_id);
$ this-&gt; db-&gt; update('worker_tb',$ data);
返回$ this-&gt; db-&gt; affected_rows();
}
公共函数get_worker_details($ worker_id){
$ this-&gt; db-&gt; select();
$ this-&gt; db-&gt; from('worker_tb' );
$ this-&gt; db-&gt; where('worker_id',$ worker_id);
$ query = $ this-&gt; db-&gt; get();
return $ query-&gt ; result_array();
}
**工作人员(控制器)**
公共函数edit_worker($ worker_id){
if($ _POST){
$ worker_details = array(
'worker_fname'=&gt; $ _POST ['worker_fname']
);
$ this-&gt; Workers_model-&gt; edit_workers_details($ worker_id,$ worker_details);
redirect(“Workers / index”);
}
$ data ['details'] = $ this-&gt; Workers_model - &gt; get_worker_details($ worker_id);
$ this-&gt; load-&gt; view('Worker / updateWorker',$ data);
}
code> pre>
updateWorker(view) strong> p>
&lt; center&gt;
&lt; h1&gt; 编辑工作人员详细信息&lt; / h1&gt;
&lt;?php foreach($ details as $ detail){?&gt;
&lt; form role =“form”action =“&lt;?php echo site_url(”Workers / edit_worker /".$detail['worker_id']);?>” method =“POST”&gt;
名称:&amp; nbsp;&amp; nbsp;&amp; nbsp; &lt; input type =“text”class =“form-control”value =“&lt;?php echo $ detail ['worker_fname'];?&gt;” &gt;&lt; br /&gt;
&lt; button type =“submit”class =“btn btn-primary”&gt; 更新&lt; / button&gt;
&lt; / form&gt;
&lt;?php}?&gt;
&lt; / center&gt;
code> pre>
我现在的问题是,当我点击“更新”按钮时,它不起作用,不会更新数据。我该怎么办?
任何想法或帮助表示赞赏。 谢谢 p>
div>
Your
<input>
field missingname
attribute
So final well form code is
In View
<center>
<h1> Edit Worker Details </h1>
<?php foreach ($details as $detail) {?>
<form role="form" action= "<?php echo site_url("Workers/edit_worker/".$detail['worker_id']);?>" method="POST">
Name: <input type="text" name="worker_fname" class="form-control" value = "<?php echo $detail['worker_fname'];?>" ><br />
<button type="submit" class="btn btn-primary"> Update </button>
</form>
<?php } ?>
</center>
In Controller
public function edit_worker ($worker_id) {
$worker_fname = $_POST['worker_fname'];
if(!empty($worker_fname))
{
$result = $this->Workers_model->edit_workers_details($worker_id, $worker_fname);
if($result == 1)
{
$data['details'] = $this->Workers_model->get_worker_details($worker_id);
$this->load->view('Worker/updateWorker',$data);
}
else
{
echo 'Update Failed'
}
}
else
{
echo 'worker_fname is empty'
}
}
In Model
public function edit_workers_details ($worker_id, $worker_fname) {
$data = array(
'worker_fname' => $worker_fname
);
$this->db->where('worker_id', $worker_id);
if(!$this->db->update('worker_tb', $data))
{
// Update Failed
return $log = 0;
}
else
{
// Update Success
return $log = 1;
}
}
public function get_worker_details ($worker_id)
{
$this->db->select();
$this->db->from('worker_tb');
$this->db->where('worker_id', $worker_id);
$query = $this->db->get();
return $query->result_array();
}
use name attribute as "worker_fname"
Name: <input type="text" name ="worker_fname"class="form-control" value = "<?php echo $detail['worker_fname'];?>" ><br />
then you can get value form value by from controller Like this
$this->input->post("worker_fname"); or $_POST['worker_fname']
then do what you want :D :D