while($info = mysql_fetch_array( $result ))
{
//Outputs the data
Echo "<b>".$info['name'] . " </b> :-<br>";
include('db.php');
$postid = 1;
$data = mysql_fetch_object(mysql_query('SELECT `like` , `unlike` FROM posts WHERE id=" '.$postid.' " '));
Echo "<html><body><a href='javascript:;' onclick='doAction($postid,like);'>Like (<span id='<?php echo $postid;?>_likes'>$data->like</span>)</a></html></body>";
Echo "<html><body><a href='javascript:;' onclick='doAction($postid,unlike);'>Unlike (<span id='<?php echo $postid;?>_unlikes'>$data->unlike</span>)</a></html></body>";
}
在上面的脚本中,我为每个提取的结果添加了like
和unlike
选项。
我得到以下结果:like (0)unlike (0)
每件事都很完美。唯一的问题是它在点击时不会增加。
请帮帮我。
它在下面显示的简单代码中工作得很完美:
<html>
<head>
<script src="http://code.jquery.com/jquery-1.3.2.min.js"></script>
<script>
function doAction(postid,type){
$.post('doAjax.php' , {postid:postid, type:type}, function(data){
$('#'+postid+'_'+type+'s').text(data);
});
}
</script>
</head>
<body>
<?php
include('db.php');
$postid = 1;
$data = mysql_fetch_object( mysql_query( 'SELECT `like` , `unlike` FROM posts WHERE id= " ' . $postid . ' " ' ) );
?>
<p>hello</p>
<a href="javascript:;" onclick="doAction('<?php echo $postid; ?>','like');">Like (<span id="<?php echo $postid; ?>_likes"><?php echo $data->like; ?></span>)</a>
<a href="javascript:;" onclick="doAction('<?php echo $postid; ?>','unlike');">Unlike (<span id="<?php echo $postid; ?>_unlikes"><?php echo $data->unlike; ?></span>)</a>
</body>
</html>
对于上面显示的脚本,我还想使用PDO
代替mysql_fetch
。
提前致谢。
答案 0 :(得分:0)
尝试用“
”替换2行“Echo&lt; html ...&gt;”echo "<div><a href='javascript:;' onclick='doAction($postid,like);'>Like (<span id='{$postid}_likes'>{$data->like}</span>)</a></div>";
echo "<div><a href='javascript:;' onclick='doAction($postid,unlike);'>Unlike (<span id='{$postid}_unlikes'>{$data->unlike}</span>)</a></div>";
其他问题: - 避免使用mysql_query,按建议使用PDO
- 循环内的查询将导致性能不佳。你应该有一个获取信息和喜欢的查询(使用JOIN)。在循环内部显示每个信息的相似内容。