Php Jquery-AJAX-post更新数据库

Php Jquery-AJAX-post更新数据库,php,jquery,ajax,Php,Jquery,Ajax,我在我的HTML表单中使用了以下代码——试图产生一种“彩票刮刮”类型的效果。有一个网格,每个项目都有一个数据库中的动态数字。单击正方形调用clickme()函数,进行db调用,然后更改图像。我只是想让数据库更新的第一部分 我的PHP/HTML: if ($unlock == 0) { echo '<div> class="' . $currentgrid .'" name="' . $slot . '" onclick="clickme();" sty

我在我的HTML表单中使用了以下代码——试图产生一种“彩票刮刮”类型的效果。有一个网格,每个项目都有一个数据库中的动态数字。单击正方形调用clickme()函数,进行db调用,然后更改图像。我只是想让数据库更新的第一部分

我的PHP/HTML:

    if ($unlock == 0) { 
    echo '<div> class="' . $currentgrid .'" name="' . $slot . '"   
    onclick="clickme();" style="cursor: pointer;">'; 
    } else { echo '<div>'; }
supergridupdate.php:

    <?php 
     $slot = $_POST['slot']; 
     // $gridnumber = $_POST['gridnumber']; 
     $gridnumber = 1;
     $sql = "INSERT INTO test (slot, gridnumber) VALUES ('$slot', '$gridnumber')";
     $result = mysql_query($sql) or die(mysql_error()); 
     ?> 

您已经评论了
/$gridnumber=$\u POST['gridnumber']
您正在查询中使用它,但不确定这是否会导致错误

加上这个

success: function(data){
 alert(data);
}
您是否可以执行echo$result或Exception并查看它是否抛出任何错误?还要执行echo$sql,这将提醒查询。这样你就能知道到底发生了什么

为了安全起见,还可以在try-catch中包装查询执行

try{

   $result = mysql_query($sql) or die(mysql_error()); 
} catch (Exception $e) {
    echo 'Caught exception: ',  $e->getMessage(), "\n";
}

您确定“slotnumber”有一个值吗?您是否也尝试过发送对象而不是字符串<代码>变量数据字符串={'slot':slotnumber} --编辑 在函数中,尝试将元素传递给函数
onclick=“clickme(this);”


就像那样,您是否连接到了“supergridupdate.php”文件上的数据库?

我希望在
db
中进行更新之前,您已经正确地建立了连接

在supergridupdate.php中,您正在执行以下操作

$slot = $_POST['slot']; 
因此,在ajax请求中,您需要执行以下操作

data:{slot:dataString},

HTH

您确定生成的html是正确的还是仅仅是一个输入错误。您正在关闭属性之前的div标记。试试这个


echo'

post/supergridupdate.php
的源代码是什么?另外,在HTML中,您需要从
echo'class=…
中删除
对我来说很好。您要发布到的文件需要从此处获取
$\u POST['slot']
是您将在该上下文中使用的变量。上的酷炫thx-在我试图在上面的帖子中正确显示代码时是一个输入错误:)我看到一个小错误-在帖子中更新了我的supergridupdate.php-我没有在AJAX中传递gridnumber变量,这很好,我可以稍后处理,但仍然不能仅使用一个变量进行更新。@916 Networks:您可以回答自己的问题,以便其他人可以从中受益。谢谢-数据库更新部分开始了。现在需要找出为什么我的插槽值没有传递,它在更新(和警报)中为零,谢谢-不,var slotnumber没有得到值。考虑jquery(this.attr('name');在我的HTML中会给我name=的值(例如,第一个div有name=1属性,下一个div有name=2属性),所以对于编辑,我想传递onclick=“clickme(3)”或任何slotvalue应该是什么?然后使用函数clickme(el)的代码?这也会起作用,而不是依赖name属性,然后clickme函数将是clickme(slotnumber),然后不要忘记删除函数Nice中定义slotnumber的代码,这确实起作用。谢谢我将更新我的代码以显示什么工作。很酷,谢谢,让更新部分工作,现在只是尝试让slotnumber变量填充到脚本中,HTML ok-但是我的jquery没有正常工作。我做到了。谢谢你的检查。
$slot = $_POST['slot']; 
data:{slot:dataString},