我目前正在使用codeigniter从MySQL表中获取数据并将其显示在屏幕上。数据以html格式显示,因此当用户登录我的网站时,数据库中的数据已经显示。
我想要发生的是,如果用户更改了字段中的某些数据,然后按下上传按钮,则应将数据推回到数据库,如果他们刷新屏幕,则应显示其更改。
当我去推送更改时,仅发送数组中的最后一个值。如何将我的数组中的所有值发送到MySQL数据库。下面是我的视图,控制器和模型的代码。任何帮助是极大的赞赏!
查看
<?php
$i=0;
echo form_open('site/push_data');
foreach($query as $row):
echo form_input('lab['.$i.'][priority]', $row->priority);
echo form_input('lab['.$i.'][item]', $row->item);
echo form_input('lab['.$i.'][equipment]', $row->equipment);
echo form_input('lab['.$i.'][post]', $row->post);
echo form_input('lab['.$i.'][item_type]', $row->item_type);
$i++;
endforeach;
echo form_submit('submit', 'Push');
echo form_close();
?>
<h4><?php echo anchor('login/logout', 'Logout'); ?></h4>
控制器
function push_data()
{
$this->load->model('display_lab_data');
$this->display_lab_data->writeToDB($this->input->post('lab'));
}
模型
function writeToDB($data)
{
for($i = 0; $i < 6; $i++)
{
print_r($_POST['lab'][$i]);
$this->db->update_batch('lab_priority_list', $_POST['lab'][$i]);
}
/*print_r($_POST['lab']);
foreach($_POST['lab'] as $Value)
{
$this->db->update('lab_priority_list', $Value);
}*/
}
我的数组的当前内容
Array ( [priority] => 600 [item] => 78920 [equipment] => machine 53 [post] => blidoolpoop [item_type] => 1 ) Array ( [priority] => 600 [item] => 78920 [equipment] => machine 53 [post] => blidoolpoop [item_type] => 1 ) Array ( [priority] => 600 [item] => 78920 [equipment] => machine 53 [post] => blidoolpoop [item_type] => 1 ) Array ( [priority] => 600 [item] => 78920 [equipment] => machine 53 [post] => blidoolpoop [item_type] => 1 ) Array ( [priority] => 600 [item] => 78920 [equipment] => machine 53 [post] => blidoolpoop [item_type] => 1 ) Array ( [priority] => 600 [item] => 78920 [equipment] => machine 53 [post] => blidoolpoop [item_type] => 1 )