gpt4 book ai didi

jquery - PHP Codeigniter 批量更新某些字段失败

转载 作者:行者123 更新时间:2023-12-03 22:53:19 27 4
gpt4 key购买 nike

我有一个像这样的 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
)

)

该数组用于我的表中的 update_batch。

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 调用 Controller 执行此操作:

$.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;

Controller

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";
}
}

感谢您的解决方案

最佳答案

在您的 Controller 中,将您的函数替换为以下函数:

public function update_json_detail(){
$post_data = $this->input->post("POST_ARRAY");
$execute = array();
foreach($post_data as $data){
$execute[] = array(
'MANHOUR' => $data['6'],
'AC' => $data['8']
);
}
/*CODE TO INSERT BATCH*/
$callback = $this->m_admin->update_eir_to_cost($execute, execute_first_index[0]);
}

关于jquery - PHP Codeigniter 批量更新某些字段失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34063594/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com