我有一个简单的应用程序,允许用户提交‘问题’,然后评论他们。我正在尝试制作一个简单的投票系统,这样用户就可以“投票支持”问题,这反过来会将他们推到列表的更高位置。我有一些PHP的基础知识,到目前为止一切都正常,我只是想不出如何让它工作。
到目前为止,我已经在我的problem.php页面上看到了一个在线教程……
if (isset($_GET['vote'], $_GET['id'])){
add_problem_vote($_GET['id]'], $_GET['vote']);
}
<a href="?vote=up&id=<?php echo $problemID; ?>">Vote</a>在我的functions.php页面上。
function add_problem_vote($problemID, $vote){
$problemID = (int)$problemID;
$vote = ($vote === 'up') ? '+' : '-';
$sql = "UPDATE `problems` SET `votes` = `votes` {$vote} 1 WHERE `id` = {$problem_id}";
mysql_query($sql);
}我所有的表字段都被正确命名了。我知道有很多事情需要考虑,比如在会议结束后重新投票,但只要我展示了这个想法,它就不一定是完美的。在单击链接的那一刻,它会重定向到一个页面,但mysql表中的投票不会发生变化。
发布于 2012-06-01 19:29:42
$sql = "UPDATE `problems` SET `votes` = `votes` ".$vote." 1 WHERE `id` = ".$problem_id;
mysql_query($sql) or die(mysql_error());检查你得到的是什么错误?
发布于 2012-05-07 18:53:20
我猜,这不能以这种方式工作,因为您还没有建立到数据库的MYSQL连接。
对于我的PHP项目,我(重新)使用了我每次编写的一个类,包装了所有这些函数,并进行了适当的错误处理等。
也许你应该这样想,或者你至少需要在执行查询之前添加mysql_connect。
希望这能有所帮助。
发布于 2012-05-07 19:04:18
试试这个:
"UPDATE `problems` SET `votes` = `votes` ".mysql_real_escape_string($vote)." 1 WHERE `id` = ".mysql_real_escape_string($problem_id);https://stackoverflow.com/questions/10480520
复制相似问题