作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经对此进行了 2 天的研究,但尚未找到适合我的问题的解决方案。本质上,我正在尝试使用 jQuery 基于多个复选框按 ID“链接”数据库行,但这里有点棘手:
#ct
) 的数据库表 (positions
),每行旁边都有复选框。positions
链接行应该在 covered_positions
中创建一个新行,列为 id
(PK),linked_id1
, linked_id2
, linked_id3
, linked_id4
位置
中的相应行id
ctActions()
使用如下方式在复选框值的 ctActions()
中创建一个数组:
var linked_ids = [];
$("#ct input[type='checkbox']:checked").each(function() {
linked_ids.push(this.value);
});
编码并将数据发送到 PHP:
var linked_ids_json = JSON.stringify(linked_ids);
$.post('link-positions.php', { linked_ids_json: linked_ids_json } );
在我的link-positions.php
中:
// Get & explode array
$array = json_decode($_POST['linked_ids_json']);
// Test whether each value is set -- Not sure if needed
$linked_id1 = (isset($array[0]) ? $array[0] : "");
$linked_id2 = (isset($array[1]) ? $array[1] : "");
$linked_id3 = (isset($array[2]) ? $array[2] : "");
$linked_id4 = (isset($array[3]) ? $array[3] : "");
include('../mysqli-connect.php');
$conn = dbConnect();
$sql = "INSERT INTO `covered_positions` (
linked_id1,
linked_id2,
linked_id3,
linked_id4)
VALUES (?, ?, ?, ?)";
$stmt = $conn->prepare($sql);
$stmt->bind_param('iiii',
$linked_id1,
$linked_id2,
$linked_id3,
$linked_id4);
$stmt->execute();
$conn->close();
但在这一切之后,什么也没有发生。我确定我的代码中存在一些明显的错误,所以我想我会把它发布给更有经验的人看。
$stmt->execute
修复为 $stmt->execute()
但仍未解决问题。最佳答案
如果 AJAX
请求成功完成,或者出现任何错误,请检查 FireBug。
接下来,通过 print_r($_POST);
考虑到您的 HTML 就像
<form id="form1">
<input class="cb" type="checkbox" value="a" name="cbTest[]" />
<input class="cb" type="checkbox" value="b" name="cbTest[]" />
<input class="cb" type="checkbox" value="c" name="cbTest[]" />
<input class="cb" type="checkbox" value="d" name="cbTest[]" />
</form>
我建议您使用
// if the form only contains checkboxes
var linked_ids_json = $('#form1').serialize();
// Or
var linked_ids_json = $('.cb').serialize();
$.ajax({
type: 'post',
url: 'link-positions.php',
data: linked_ids_json,
success: function () {
// callback
}
});
像PHP一样使用,
$array = $_POST['linked_ids_json'];
您将能够访问像 $linked_id[0];
这样的值
关于php - 使用 jquery 将多个复选框的值添加到数据库中的同一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14900778/
我是一名优秀的程序员,十分优秀!