В настоящее время я работаю над проектом с использованием 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: <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: <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: <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