Mysql 使用foreach循环更新具有相同id的多行

Mysql 使用foreach循环更新具有相同id的多行,mysql,codeigniter,sql-update,Mysql,Codeigniter,Sql Update,我为数据库中的每一行(其中id=$id)回显2个输入字段(2个db列),每一行的数据都在输入字段中。管理员用户可以更改输入字段内的数据并单击更新 当前,单击“更新”按钮时,它确实会更新行(其中id=$id),但会使用第一个输入字段的输入数据更新每一行,而不是更新每个输入字段的输入数据。事先谢谢你的帮助 视图: 型号: public function update_links($id){ foreach($_POST as $update_rows){ $update_ro

我为数据库中的每一行(其中id=$id)回显2个输入字段(2个db列),每一行的数据都在输入字段中。管理员用户可以更改输入字段内的数据并单击更新

当前,单击“更新”按钮时,它确实会更新行(其中id=$id),但会使用第一个输入字段的输入数据更新每一行,而不是更新每个输入字段的输入数据。事先谢谢你的帮助

视图:

型号:

public function update_links($id){
    foreach($_POST as $update_rows){
        $update_rows = array(
            array(
              'page_id' => $id,
              'link_title' => $this->input->post('page_link_title', TRUE),
              'link' => $this->input->post('page_link_sub_title', TRUE)  
            )
        );
        $this->db->update_batch('content_links', $update_rows, 'page_id');  
    }  
}

您必须在foreach循环之间移动表单标记,以便它可以提交单行的数据。像这样的

<?php foreach($link_data as $row) : ?>
  <form action='<?= site_url("admin/do_edit_page"); ?>' method='POST'>
    Link:<br />
    <input type='text' name='page_link_title' value='<?= $row->link_title; ?>'>
    <input type='text' name='page_link_sub_title' value='<?= $row->link; ?>'><br />
    <input type='submit' name='update_site' value='Update'>
  </form>
<?php endforeach; ?>

where from you get$id=$this->input->post('page\u id',TRUE);在控制器中。
public function update_links($id){
    foreach($_POST as $update_rows){
        $update_rows = array(
            array(
              'page_id' => $id,
              'link_title' => $this->input->post('page_link_title', TRUE),
              'link' => $this->input->post('page_link_sub_title', TRUE)  
            )
        );
        $this->db->update_batch('content_links', $update_rows, 'page_id');  
    }  
}
<?php foreach($link_data as $row) : ?>
  <form action='<?= site_url("admin/do_edit_page"); ?>' method='POST'>
    Link:<br />
    <input type='text' name='page_link_title' value='<?= $row->link_title; ?>'>
    <input type='text' name='page_link_sub_title' value='<?= $row->link; ?>'><br />
    <input type='submit' name='update_site' value='Update'>
  </form>
<?php endforeach; ?>