use*_*866 6 javascript php mysql sql ajax
我有一个生成并显示表格的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>";
Run Code Online (Sandbox Code Playgroud)
javascript函数是:
<script type="text/javascript" >
function like(user)
{
$.ajax(
url: "update.php",
type: "POST",
data: { 'username': user, 'liked': '1' },
success: function()
{
alert("ok");
}
);
}
</script>
Run Code Online (Sandbox Code Playgroud)
这是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);
Run Code Online (Sandbox Code Playgroud)
?>
这段代码有一些错误,让我逐行帮助你。
echo "<td> <img id='tblimg'
onclick=\'like('" . $row['Username'] . "');\'
src='like.jpg' alt='like/dislike image'
width='80px' height='30px'></td>";
Run Code Online (Sandbox Code Playgroud)
JavaScript 函数是:
首先转义 onclick 事件的引号
function like(user)
{
$.ajax({
url: "update.php",
type: "POST",
data: { 'username': user, 'liked': '1' },
success: function()
{
alert("ok");
}
});
}
Run Code Online (Sandbox Code Playgroud)
将 { 和 } 添加到 ajax 调用中
删除表名和字段中的引号
$sql = "UPDATE followers SET Liked = '$Liked' WHERE Username = '$Username'";
Run Code Online (Sandbox Code Playgroud)
在 ajax 成功且函数开始后,您始终可以打印一条消息以查看您的函数是否正在被调用,如果 php 脚本返回一些错误,请使用警报
更新
success: function(data){
alert(data); // this will print you any php / mysql error as an alert
}
Run Code Online (Sandbox Code Playgroud)
更新2
像这样编写你的 onclick 选项。
echo "<img onclick=\"like('" . $row['Username']. "');\"
src='like.jpg' alt='like/dislike image'
width='80px' height='30px' />";
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
33722 次 |
最近记录: |