-1

我想用类获取页面上所有 div 的 id archive,并将它们放入 MySQL 查询中以检查 id 是否存档在数据库中。

所以基本上我想知道我该怎么做:$div = $(this).attr('id');

然后我会把它扔进循环来检查:

$matches = mysql_query("SELECT * FROM content WHERE `div` = '$div'");
        while ($post = mysql_fetch_assoc($matches)) 
        {
            if (mysql_num_rows($matches) > 0)
            { 
              //DO THIS
            }
        }

更新

我现在有这个 AJAX 代码:

$('div.heriyah').each(function() { 
var curID = $(this).attr('id'); 
$.post("admin/btnCheck.php", { div : curID }, function(data) {
if (data == "yes") {
    $('#' + curID).html('<div class=\"add\"><div id=\"add_button_container\"><div id=\"add_button\" class=\"edit_links\">  + Add Element</div></div></div><div class=\"clear\"></div></div>');
} else {
    $('#' + curID).html('<div class=\"add\"><div id=\"add_button_container\"><div id=\"add_button\" class=\"edit_links\">  + Set As Editable Region</div></div></div><div class=\"clear\"></div></div>');
}
  });
});

还有我的 PHP:

$matches = mysql_query("SELECT * FROM content WHERE `div` = '".$_POST['div']."'");
 if (mysql_num_rows($matches) > 0)
 { 
    echo "yes";
 } else {
    echo "no";
 }

我究竟做错了什么?

4

2 回答 2

2

您不能像这样将 javascript 变量扔给 PHP 脚本。您必须向页面发送 ajax 请求

$div = $(this).attr('id');
$.post("yourquerypage.php", { divid : $div }, function(data) {
    // Something to do when the php runs successfully
});

接下来,配置您的查询以从 $_POST() 获取变量

$matches = mysql_query("SELECT * FROM content WHERE `div` = '".$_POST['divid']."'");

当然,你必须采取注射措施。

于 2012-04-07T01:19:56.683 回答
0

这是简单的语法错误。删除之后的条件else,你应该没问题。

else (data == "yes") { // remove (data == "yes")
    // snip
}
于 2012-04-07T02:15:07.167 回答