使用 codeigniter 更新选定的行?

Updating selected row using codeigniter?

我正在尝试使用按钮标签更新表中的特定行。但它只更新最后插入的行,而不更新选定的按钮标签。

型号

 public function title_d($data,$title_id)
{
      
        $this->db->where('title_id',$title_id);
        $this->db->update('experience',$data);
}

查看

<form method="POST" action="http://localhost/portfolio/user/title">
  
      <?php
         foreach($experience->result() as $values1)  {
        ?>
        <section class="row">
        <section class="border mt-5 m-auto p-5" style="background: #fff; width: 30%; height: 250px;">
        <input type="text" value="<?php echo $values1->title_id;?>" name="title_id" hidden />
        <h5>Title</h5>
        <input type="text" value="<?php echo $values1->title;?>" class="form-control place" name="title" style="width: 200px; height: 30px;  border: 1px solid;">
        </section>  
        <section class="border mt-5 m-auto p-4" style="background: #fff; width: 23%;height: 250px;">
        <h5>Write What you know</h5>
        <textarea  style=" height: 150px; width: 180px;" name="write">
        <?php echo $values1->write;?>
        </textarea>
        </section>
        <section class="border mt-5 m-auto p-5" style="background: #fff; width: 25%; height: 250px;  ">
        <h5>update your details</h5>
        <button type="submit"  value="<?php echo $values1->title_id; ?>" style="background:#1C8ACA; height: 40px; " class="btn btn-primary">Update<?php echo $values1->title_id; ?></button>
        <button type="submit"  value="<?php echo $values1->title_id; ?>"style="background:#ff0000;  height: 40px; " class="btn btn-danger">Delete<?php echo $values1->title_id;?></button>
        </section>
        </section>
        <?php
        }
        ?>
</form>

控制器:

Class User extends CI_Controller {
public function index()
{
    $this->load->model('User_model');
    $user_id = 1;
    $data['admin'] = $this->User_model->admin_data($user_id);
    $data['images'] = $this->User_model->get_images($user_id);
    $data['names'] = $this->User_model->get_name();
    $data['intro'] = $this->User_model->get_intro();
    $data['experience'] = $this->User_model->get_title();
    $data['contact'] = $this->User_model->get_contact();
    $this->load->helper('url');
    $this->load->view('Home',$data);
 }
 public function title()
 {
    $this->load->model('User_model');
    $title_id = $this->input->post('title_id');
    $title = $this->input->post('title');
    $write = $this->input->post('write');
    $data = array("title"=>$title,"write"=>$write);
    $this->User_model->title_d($data,$title_id);
    $this->User_model->delete_title($title_id,$data);
    redirect('/');
  }
 }

我认为您必须使用内部表单创建循环,例如:

<?php foreach($experience->result() as $values1) { ?>
<form method="POST" action="http://localhost/portfolio/user/title">
        <section class="row">
        <section class="border mt-5 m-auto p-5" style="background: #fff; width: 30%; height: 250px;">
        <input type="text" value="<?php echo $values1->title_id;?>" name="title_id" hidden />
        <h5>Title</h5>
        <input type="text" value="<?php echo $values1->title;?>" class="form-control place" name="title" style="width: 200px; height: 30px;  border: 1px solid;">
        </section>  
        <section class="border mt-5 m-auto p-4" style="background: #fff; width: 23%;height: 250px;">
        <h5>Write What you know</h5>
        <textarea  style=" height: 150px; width: 180px;" name="write">
        <?php echo $values1->write;?>
        </textarea>
        </section>
        <section class="border mt-5 m-auto p-5" style="background: #fff; width: 25%; height: 250px;  ">
        <h5>update your details</h5>
        <button type="submit"  value="<?php echo $values1->title_id; ?>" style="background:#1C8ACA; height: 40px; " class="btn btn-primary">Update<?php echo $values1->title_id; ?></button>
        <button type="submit"  value="<?php echo $values1->title_id; ?>"style="background:#ff0000;  height: 40px; " class="btn btn-danger">Delete<?php echo $values1->title_id;?></button>
        </section>
        </section>
</form>
<?php } ?>