【发布时间】:2013-07-16 20:18:51
【问题描述】:
我正在使用 jQuery 可拖动,当可拖动元素移动时,我使用 ajax 将这些 css 值(左、上)保存到数据库 ($wpdb) 中...当有一个可拖动元素运行流畅时,我没有问题。 ..但是添加到项目中我想添加多个可拖动元素,这就是我遇到问题的地方...这是我将数据发送到数据库的代码...
global $wpdb;
//The data here comes from an ajax call
$_POST['x'];
$_POST['y'];
$_POST['id'];
$term_id = 100;
$name = $_POST['id'];
$slug = $_POST['x'];
$term_group = $_POST['y'];
if(isset($_POST['id'],$_POST['y'], $_POST['x'])){
print_r($_POST);
}
//Im adding into wp_terms a default table (for testing)...
$query = "INSERT INTO $wpdb->terms (term_id, name, slug, term_group) VALUES (%s, %s, %s, %s)";
//Here I insert the ajax data into the columns
$wpdb->query($wpdb->prepare($query, $term_id, $name, $slug, $term_group));
$wpdb->update("$wpdb->terms", array('slug' => $_POST['x'], 'term_group' => $_POST['y']), array('name' => $_POST['id']));
die();
这段代码总结起来:它连接到 $wpdb 然后我从 ajax 调用中获取数据并将它们存储在一个变量中。我的目标是 wp_terms 表...所以在可拖动元素stop ajax 数据发送到我的脚本并存储在数据库中,在 update 上,每次可拖动停止时我都会保留该行,并且只更新位于 slug && term_group 中的 x 和 y 值,其中包含 name $_POST['id']... 这更新得很好,但是由于$term_id = 100 是一个静态值,我无法为具有新$_POST['id'] 的元素创建一个新行。这有意义吗.. 它比我简单得多认为我做到了......我正在尝试做我已经在做的事情,但是当有一个新的$_POST['id'] 时,我需要动态生成一个$term_id = 101,如果我手动给出该行,它就会完全按照我想要的方式工作101 的 term_id ...
表格是这样的……
我尝试添加 101 和 silly2.. 然后 102 silly3.. 类似的东西,然后当最后两个值 x 和 y 更改时,152 和 32 更改但 term_id 101 保持不变,而 silly 2 保持不变......
这里的事情是我不想创建一个 silly、silly2、silly3 的新实例...我想覆盖最后两列..
【问题讨论】:
-
你能打印你的最终查询并替换值并尝试将它粘贴到 phpmyadmin 中,看看它给出了什么错误。你也可以对你的表结构有所了解吗?
-
添加了一张表格的图片......当一个新的可拖动元素被创建时,它会得到一个 silly2 的 id...这个 id 通过 akax 传递并发送到 name 列.. . 它需要一个新的 term_id .. 但是一旦它得到一个新的 term_id 我希望它坚持.. 我可以生成一个随机 ID 但这对我不利