我想要做的是在有人在“页面”上投票时计算投票数。我想我失去了自己试图找出如何跟踪成员投票的时间。我似乎无法通过代码来判断会员何时投票。
//Generate code ID
$useXID = intval($_GET['id']);
$useXrank = $_GET['rank'];
//if($useXrank!=null && $useXID!=null) {
$rankcheck = mysql_query('SELECT member_id,code_id FROM code_votes WHERE member_id="'.$_MEMBERINFO_ID.'" AND WHERE code_id="'.$useXID.'"');
if(!mysql_fetch_array($rankcheck) && $useXrank=="up"){
$rankset = mysql_query('SELECT * FROM code_votes WHERE member_id="'.$_MEMBERINFO_ID.'"');
$ranksetfetch = mysql_fetch_array($rankset);
$rankit = htmlentities($ranksetfetch['ranking']);
$rankit+="1";
mysql_query("INSERT INTO code_votes (member_id,code_id) VALUES ('$_MEMBERINFO_ID','$useXID')") or die(mysql_error());
mysql_query("UPDATE code SET ranking = '".$rankit."' WHERE ID = '".$useXID."'");
}
elseif(!mysql_fetch_array($rankcheck) && $useXrank=="down"){
$rankset = mysql_query('SELECT * FROM code_votes WHERE member_id="'.$_MEMBERINFO_ID.'"');
$ranksetfetch = mysql_fetch_array($rankset);
$rankit = htmlentities($ranksetfetch['ranking']);
$rankit-="1";
mysql_query("INSERT INTO code_votes (member_id,code_id) VALUES ('$_MEMBERINFO_ID','$useXID')") or die(mysql_error());
mysql_query("UPDATE code SET ranking = '".$rankit."' WHERE ID = '".$useXID."'");
}
// hide vote links since already voted
elseif(mysql_fetch_array($rankcheck)){$voted="true";}
//}
答案 0 :(得分:1)
你太难了。使用投票的数值+ 1,-1,并对表强制执行唯一约束:
扩大了一点:
create table votes (
pageId int references pages (pageId)
,memberId int references members (memberId)
,value int check (value in (-1,1))
,constraint votes_unique unique (pages,members)
)
现在你可以“选择总和(值)...”来获取用户的内容,页面发生了什么等等。
答案 1 :(得分:0)
这样的事情应该适合你 - 只需用所有代码替换所有图像。
答案 2 :(得分:0)
您的第一个查询无效,因为它有两个WHERE子句。