我的目标是使用jquery将按钮ID提交到数据库中,我只对按钮感兴趣而不是它的值。
$("#button").click(function() {
var p = $(this).attr("id");
$.ajax({
type: "POST",
url: "subpage.php",
data: 'b=' + p,
cache: false,
success: function(html) {
//process live
}
});
return false;
});
subpage.php
$item = $_POST['b'];
$query = mysql_query("SELECT * FROM table WHERE id = '25' AND bttnid = '$item'");
if(count($query)==0){
mysql_query("INSERT INTO table VALUES ('','25','$item') ");
}
它没有提交。请帮助
答案 0 :(得分:0)
修正引号并按照
进行操作$.ajax({
type: "POST",
url: "subpage.php",
data: {b: p},
cache: false,
success: function(html)
{
//process live
}
});
让jQuery处理urlencoding
数据对象
答案 1 :(得分:0)
count($query)
错了。您需要使用mysql_num_rows($query)
来获取返回的行数。
除此之外,对{b: p}
使用data
而不是字符串,以便jQuery正确编码p
(尽管在这种特殊情况下很可能不需要,因为ID不应该包含反正任何特殊字符。)
答案 2 :(得分:0)
这里只提出一个建议:你一定要看一下jQuery API,它可能会给你找到你想要的答案:)
例如:(来自.ajax()API页面的示例)
var menuId = $("ul.nav").first().attr("id");
var request = $.ajax({
url: "script.php",
type: "POST",
data: {id : menuId},
dataType: "html"
});
request.done(function(msg) {
$("#log").html( msg );
});
request.fail(function(jqXHR, textStatus) {
alert( "Request failed: " + textStatus );
});
您已经在此处获得了模板,您只需将原始值修改为您的网络应用程序的原始值即可。
答案 3 :(得分:0)
问题不在于jquery,问题在于php语句..已经改变了
if(count($query)==0){/../}
到
if(mysql_num_rows($query)==0){/../} and it works.