AJAX使用从PHP生成的HTML调用的函数更新MYSQL数据库
AJAX update MYSQL database using function called from HTML generated from PHP
我有一个php页面生成并显示一个表。对于表中的最后一行,我想显示一个带有"onclick"函数的图像。这将把所选行的用户名发送到一个脚本,该脚本将使用AJAX更新数据库。该表显示良好,但AJAX不起作用。我的php显示图像是:
echo "<td> <img id='tblimg'
onclick='like('" . $row['Username'] . "')'
src='like.jpg' alt='like/dislike image'
width='80px' height='30px'></td>";
javascript函数是:
<script type="text/javascript" >
function like(user)
{
$.ajax(
url: "update.php",
type: "POST",
data: { 'username': user, 'liked': '1' },
success: function()
{
alert("ok");
}
);
}
</script>
这里是update.php:
<?php
$con=mysqli_connect("","sam74","********","sam74");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$Username = $_POST['username'];
$Liked = $_POST['liked'];
$sql = "UPDATE 'followers' SET 'Liked' = '$Liked' WHERE 'Username' = '$Username'";
if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}
mysqli_close($con);
?>
这段代码中有一些错误,让我逐行帮助您。
echo "<td> <img id='tblimg'
onclick=''like('" . $row['Username'] . "');''
src='like.jpg' alt='like/dislike image'
width='80px' height='30px'></td>";
javascript函数是:
逃离你的报价onclick事件第一
function like(user)
{
$.ajax({
url: "update.php",
type: "POST",
data: { 'username': user, 'liked': '1' },
success: function()
{
alert("ok");
}
});
}
将{和}添加到ajax调用
删除表名和字段中的引号
$sql = "UPDATE followers SET Liked = '$Liked' WHERE Username = '$Username'";
在ajax成功的情况下,在函数开始后,您总是可以打印一条消息来查看您的函数是否被调用,如果php脚本返回了一些错误,请对该使用警报
更新
success: function(data){
alert(data); // this will print you any php / mysql error as an alert
}
更新2
这样写你的onclick选项。
echo "<img onclick='"like('" . $row['Username']. "');'"
src='like.jpg' alt='like/dislike image'
width='80px' height='30px' />";
jQuery.ajax()
函数期望传递一个对象;您需要使用{
和}
来开始和结束对象文字。你目前拥有的是无效的JavaScript语法,如果你检查浏览器的开发工具,你会看到一个错误。因此:
$.ajax(
url: "update.php",
type: "POST",
data: {
'username': user,
'liked': '1'
},
success: function () {
alert("ok");
}
);
应该是
$.ajax({ // added {
url: "update.php",
type: "POST",
data: {
'username': user,
'liked': '1'
},
success: function () {
alert("ok");
}
}); // added }
相关文章:
- 从.js文件调用html中的js函数
- 当 Node.js 调用 HTML 时,外部 Javascript 和 CSS 不会对 HTML 产生影响
- 通过express路由调用HTML中的Javascript函数
- 在ASP中调用HTML以调用其他脚本
- 调用html()之前需要执行unbind()还是off()
- 用于调用 html 页面的内容窗格查询
- 如何检测何时在 jQuery 中调用 .html() 函数
- 如何使用在 jscript 中声明的参数调用 Html.RenderAction()
- 在iframe中使用jquery-mobile调用html页面
- magnific弹出窗口在调用.html内生成的类时不起作用
- 如何在javaScript中调用HTML选择值
- 如何使用css,js和图像调用HTML文件
- 使用 javascript 调用 html 中标签的下载
- 未调用HTML中的Javascript函数
- 调用html body标记中的脚本函数
- 使用sl4a中的webViewShow调用HTML
- IE中并不总是调用HTML页面卸载
- 如何才能只调用html文件的一行
- 使用变量或JavaScript动态调用HTML文件以给出搜索结果
- 当调用HTML时,如何显示HTML文件中的特定表以及多个表