【发布时间】:2016-03-24 14:08:20
【问题描述】:
我正在尝试使用来自通过 AJAX 的 html 表单数据的数据来更新我的数据库中的多行。我更新数据库没有任何问题,但我使用了几个查询来更新每一行。使用 AJAX 更新来自大型表单的多行的正确方法是什么?一个 foreach 循环?
if ( isset($_POST['updateData']) ) {
parse_str($_POST['fields']);
$update1 = $db->execute("UPDATE content SET content_text=? WHERE page_id = '".$page_id."' AND lang_code = '".$lang_code."' AND content_id =1", array($field1));
$update2 = $db->execute("UPDATE content SET title=?, content_text=? WHERE page_id = '".$page_id."' AND lang_code = '".$lang_code."' AND content_id =2", array($field2_title, $field2));
$update3 = $db->execute("UPDATE content SET title=? WHERE page_id = '".$page_id."' AND lang_code = '".$lang_code."' AND content_id =3", array($field3_title));
}
我的数据库
ID | content_id | page_id | lang_code | title | content_text |
---------------------------------------------------------------------
1 | 1 | 2 | en | | text1 |
2 | 2 | 2 | en | title2 | text2 |
3 | 3 | 2 | en | title3 | |
我的表格是这样的:
<input name="field1">
<input name="field2_title">
<input name="field2">
<input name="field3_title">
我的脚本:
var form_data = $(this).serialize();
$.ajax({
type : 'POST',
url : '#',
data : {
updateData : 1,
fields : form_data
}
});
【问题讨论】: