Обновление данных не работает с использованием 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>

Моя проблема сейчас в том, что когда я нажимаю кнопку Обновить, она не работает и не обновляет данные. Что мне делать?
Любые идеи или помощь приветствуется. Спасибо

1

Решение

Ваш <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();
}
0

Другие решения

использовать атрибут имени как «имя_работника»

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

тогда вы можете получить значение формы значения от контроллера, как это

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

тогда делай что хочешь: D: D

0

По вопросам рекламы [email protected]