【发布时间】:2015-03-16 02:50:56
【问题描述】:
我正在使用 PDO、PHP 和 AJAX 开发类似的系统。
但是,它不起作用。
这是 PHP 代码。
$get_likes_sql = "SELECT * FROM `likes` WHERE post_id=:post_id AND liker_id=:my_id";
$get_likes = $db->prepare($get_likes_sql);
$get_likes->execute(array(
":post_id" => $post_id,
":my_id" => $my_id
));
$likes_numrows = $get_likes->rowCount();
if ($likes_numrows == 0) {
echo "<a class='like-link' id='$post_id' title='Like'>Like</a>";
} else {
echo "<a class='like-link' id='$post_id' title='Unlike'>Unlike</a>";
}
这是 AJAX 脚本。
$(document).ready(function(){
$(document).on('click', '.like-link', function(){
if($(this).attr('title')=='Like'){
$.post('ajax.like.php',{pid:$(this).attr('id'),action:'like'},function(){
$(this).text('Unlike');
$(this).attr('title','Unlike');
});
}else{
if($(this).attr('title')=='Unlike'){
$.post('ajax.like.php',{pid:$(this).attr('id'),action:'unlike'},function(){
$(this).text('Like');
$(this).attr('title','Like');
});
}
}
});
});
问题是点击like 链接后没有任何反应。
【问题讨论】:
-
ajax.like.php 这是否是正确的文件名?
-
虽然
rowCount()似乎对你有用。这不是好的代码。rowCount()主要用于更新、删除和插入:php.net/manual/en/pdostatement.rowcount.php。您应该运行SELECT count(*),尤其是考虑到您没有使用查询中的任何数据。 -
@IndraKumarS 对不起.. 是的,这是正确的文件名
标签: javascript php jquery ajax pdo