使用代码编写器更新不工作的数据


Updating data not working using codeigniter

我目前正在使用codeigniter进行一个项目。作为项目功能的一部分,它有编辑或更新功能,我得到了一些错误,它不工作。以下是我的代码:

Workers_model

这是编辑功能或更新。

   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(视图)

<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: &nbsp;&nbsp;&nbsp; <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>

我现在的问题是,当我点击更新按钮,它不工作,不更新数据。我该怎么办?任何想法或帮助是感激的。由于

您的<input>字段缺少name属性

所以最终的格式代码

<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: &nbsp;&nbsp;&nbsp; <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>
在控制器

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'
    }    
}
模型中

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();
}

使用name属性作为"worker_fname"

Name: &nbsp;&nbsp;&nbsp; <input type="text" name ="worker_fname"class="form-control" value = "<?php echo $detail['worker_fname'];?>" ><br />

那么你可以从控制器中获取value形式的value就像这样

$this->input->post("worker_fname"); or $_POST['worker_fname']
D:D