【发布时间】:2016-03-07 22:12:17
【问题描述】:
我有一个这样的 html 表格: 查看
<table id="tableReport" class="table table-hover">
<thead>
<tr>
<th>NO</th>
<th>TYPE</th>
<th>ITEM</th>
<th>DAMAGE</th>
<th>REPAIR</th>
<th>REMARKS</th>
<th>MANHOUR</th>
<th>MATERIAL</th>
<th>A / C</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<input class="form-control" type="text" value="68" placeholder="68" disabled="" name="name_type">
</td>
<td>
<input class="form-control" type="text" value="Cleaning" placeholder="Cleaning" disabled="" name="name_item">
</td>
<td>
<input class="form-control" type="text" value="Certificate" placeholder="Certificate" disabled="" name="name_item">
</td>
<td>
<input class="form-control" type="text" value="Broken" placeholder="Broken" disabled="" name="name_damage">
</td>
<td>
<input class="form-control" type="text" value="Blast&Paint" placeholder="Blast&Paint" disabled="" name="name_repair">
</td>
<td>
<input class="form-control" type="text" value="AAAAAA" placeholder="AAAAAA" disabled="" name="name_remarks">
</td>
<td>
<input class="form-control" type="text" value="10.00" placeholder="10.00" disabled="" name="name_damage">
</td>
<td>
<input id="material" class="form-control" type="text">
</td>
<td>
<input id="A/C" class="form-control" type="text">
</td>
</tr>
<tr>
<td>
<input class="form-control" type="text" value="69" placeholder="69" disabled="" name="name_type">
</td>
<td>
<input class="form-control" type="text" value="Cleaning" placeholder="Cleaning" disabled="" name="name_item">
</td>
<td>
<input class="form-control" type="text" value="Exterior" placeholder="Exterior" disabled="" name="name_item">
</td>
<td>
<input class="form-control" type="text" value="Modified" placeholder="Modified" disabled="" name="name_damage">
</td>
<td>
<input class="form-control" type="text" value="Replace" placeholder="Replace" disabled="" name="name_repair">
</td>
<td>
<input class="form-control" type="text" value="BBBBB" placeholder="BBBBB" disabled="" name="name_remarks">
</td>
<td>
<input class="form-control" type="text" value="10.00" placeholder="10.00" disabled="" name="name_damage">
</td>
<td>
<input id="material" class="form-control" type="text">
</td>
<td>
<input id="A/C" class="form-control" type="text">
</td>
</tr>
</tbody>
</table>
JQUERY 我使用这个 jquery 得到了这些表上的所有值:
$('#tableReport').find('tbody').find('tr').each(function () {
var row_data = [];
$(':input', this).each(function () {
row_data.push($(this).val());
});
table_data.push(row_data);
});
结果如下所示:
Array
(
[0] => Array
(
[0] => 68
[1] => Cleaning
[2] => Certificate
[3] => Broken
[4] => Blast&Paint
[5] => AAAAAA
[6] => 10.00
[7] => a
[8] => b
)
[1] => Array
(
[0] => 69
[1] => Cleaning
[2] => Exterior
[3] => Modified
[4] => Replace
[5] => BBBBB
[6] => 10.00
[7] => c
[8] => d
)
)
这个数组用于更新我的表中的批处理。
mysql> select * from tb_repair_detail;
+-----------+--------------------+------+-----------+-----------+---------+---------+----------+------+
| DETAIL_ID | REPAIR_ESTIMATE_ID | ITEM | DAMAGE_ID | REPAIR_ID | REMARKS | MANHOUR | MATERIAL | AC |
+-----------+--------------------+------+-----------+-----------+---------+---------+----------+------+
| 68 | 43 | 01 | 01 | 30 | AAAAAA | 10.00 | NULL | NULL |
| 69 | 43 | 03 | 16 | 45 | BBBBB | 10.00 | NULL | NULL |
+-----------+--------------------+------+-----------+-----------+---------+---------+----------+------+
2 rows in set (0.00 sec)
SO,AJAX 获取调用控制器执行此操作:
$.ajax({
url: "<?php echo base_url('admin/c_admin/update_json_detail'); ?>",
type: "POST",
data: {
POST_ARRAY: table_data
},
dataType: 'json',
success: function (obj) {
console.log(obj);
}
});
return false;
控制器
public function update_json_detail(){
$execute = $this->input->post("POST_ARRAY");
/*CODE TO INSERT BATCH*/
$callback = $this->m_admin->update_eir_to_cost($execute, execute_first_index[0]);
}
这是模型。
public function update_eir_to_cost($data, $id) {
$this->db->trans_start();
$this->db->update_batch('tb_repair_detail', $data, $id);
$this->db->trans_complete();
if ($this->db->trans_status() === FALSE) {
// generate an error... or use the log_message() function to log your error
echo "Error Updating";
}
}
我的大问题是,我想使用更新批处理。但是,我只想更新工时和交流字段。我真的坚持了好几天,任何帮助都非常感谢
更新 非常感谢苏丹先生。 现在,我的代码看起来像这样:
public function update_json_detail() {
$post_data = $this->input->post("POST_ARRAY");
$execute = array();
foreach ($post_data as $data) {
$execute[] = array(
'ID'=> $data['0'],
'MATERIAL' => $data['7'],
'AC' => $data['8']
);
}
/* CODE TO INSERT BATCH */
$callback = $this->m_admin->update_eir_to_cost($execute);
}
我的模型出了点问题,因为我需要三个参数来 update_batch
public function update_eir_to_cost($id, $material, $ac) {
$data = array(
"MATERIAL" => $material,
"AC" => $ac
);
$this->db->trans_start();
$this->db->where($id);
$this->db->update_batch('tb_repair_detail', $data);
$this->db->trans_complete();
if ($this->db->trans_status() === FALSE) {
// generate an error... or use the log_message() function to log your error
echo "Error Updating";
}
}
感谢您的解决方案
【问题讨论】:
-
这和batch-file有什么关系?
标签: jquery codeigniter