0

私の目的は、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') ");
}

提出しません。助けてください

4

4 に答える 4

0

引用符を修正して、次のようにします。

$.ajax({
  type: "POST",
  url: "subpage.php",
  data: {b: p},
  cache: false,
  success: function(html)
  {
    //process live

  }
 });

jQueryurlencodingにデータオブジェクトのを処理させます

于 2012-06-01T16:37:31.623 に答える
0

count($query)間違っている。mysql_num_rows($query)返される行数を取得するには、を使用する必要があります。

さらに、文字列の代わりに{b: p}forを使用して、jQueryが適切にエンコードするようにします(IDには特殊文字が含まれていないため、この特定のケースでは必要ない可能性があります)。datap

于 2012-06-01T16:50:54.443 に答える
0

ここでの提案は1つだけです。jQueryAPIを確認する必要があります。これにより、探している答えが得られる可能性があります:)

例:(。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 );
});

ここにはすでにテンプレートがあり、あとは元の値をWebアプリの値に変更するだけです。

リンク:http ://api.jquery.com/jQuery.ajax/

于 2012-06-01T16:56:58.500 に答える
0

問題はjqueryになく、問題はphpステートメントにあります。変更されました

if(count($query)==0){/../} 

if(mysql_num_rows($query)==0){/../} and it works.
于 2012-06-01T16:57:18.910 に答える