【发布时间】:2017-04-14 06:41:42
【问题描述】:
我有一个自定义数据库,我想从 WordPress 前端界面插入项目。当我提交表单时,我可以很好地获取 JSON 值,但由于某种原因,它似乎没有插入到数据库中。我没有收到任何错误消息。
这就是我正在做的事情(请注意,我正在测试 name 变量,因此它没有从输入字段中提取):
我正在使用来自SHOW TABLE STATUS 的auto_increment_id 值来创建commmittee_id 值,并且希望将其作为主键插入。
JavaScript
$(".addButton").click(function() {
var commitAddID = $(this).attr('id');
var name = "1name";
var date_created = $("#addCommCreated_input_"+commitAddID).val();
var status = $("#addCommStatus_input_"+commitAddID).val();
var disbanded = $("#addCommDisbanded_input_"+commitAddID).val();
var dataString = {
'action': 'addCommittee',
'committee_id': commitAddID,
'old_id': commitAddID,
'name': name,
'description': '',
'date_created': date_created,
'status': status,
'disbanded': disbanded
};
jQuery.ajax({
url: addCommittee.ajaxurl,
type: "POST",
data: dataString,
dataType: "json",
success: function (response) {
$("#name_"+commitAddID).html(name);
$("#created_"+commitAddID).html(date_created);
$("#status_"+commitAddID).html(status);
$("#disbanded_"+commitAddID).html(disbanded);
}
});
functions.php
// set up AJAX call for addCommittee
add_action('wp_ajax_addCommittee', 'addCommittee');
add_action('wp_ajax_nopriv_addCommittee', 'addCommittee');
function addCommittee() {
global $wpdb;
$committee_id = esc_sql($_POST['committee_id']);
$old_id = esc_sql($_POST['old_id']);
$name = esc_sql($_POST['name']);
$created = esc_sql($_POST['date_created']);
$status = esc_sql($_POST['status']);
$disbanded = esc_sql($_POST['disbanded']);
$desc= esc_sql($_POST['description']);
$wpdb->insert('wp_bubu_committees',
array(
'old_id' => '',
'name' => $name,
'description' => '',
'date_created' => $created,
'status' => $status,
'disbanded' => $disbanded
)
);
exit();
}
我还将 AJAX URL 本地化为 functions.php。有什么想法吗?
编辑:更新了代码——操作设置为 .我现在可以插入数据库,但它只允许我插入一项。尝试插入其他项目不会返回任何内容,但数据确实会发布到 JSON。
【问题讨论】:
-
委员会ID是主键吗?
-
Committee_id 是主键。我从
auto_increment_id中获得了您从SHOW TABLE STATUS获得的价值 -
添加这个'committee_id' => $id第一个数组并删除inser中的第二个和第三个数组
-
删除我要查询的委员会并尝试
-
没有用 - 您介意将此对话移至聊天吗?我可以提供有关代码的更多信息
标签: javascript php mysql ajax wordpress