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