问题描述
||
我正在尝试计算是和否的投票数,这样我就可以发布网站总的是/否。这应该很容易,但是由于未得到返回结果,我必须在某处缺少某些内容。至少没有PHP错误。我的总欲望
$result = MysqL_query(\"SELECT * FROM Poll\");
$Votes_Poll = MysqL_num_rows($result);
$Vote_yes = MysqL_query(\"SELECT Vote,COUNT(*) FROM Poll GROUP BY yes\");
$Vote_no = MysqL_query(\"SELECT Vote,COUNT(*) FROM Poll GROUP BY no\");
// display the results
echo $Votes_Poll;
echo \"<br>\";
echo $Vote_yes;
echo \"<br>\";
echo $Vote_no;
提前致谢
解决方法
那是因为您正在回显查询对象。您的每个查询都应...
$vote_yes = mysql_query(\"SELECT COUNT(*) AS total FROM Poll WHERE vote = \'yes\' \");
$row = mysql_fetch_object($vote_yes);
echo $row->total; //echoes out the number of yes votes
,您误解了“ 2”的工作原理。您不使用它来选择答案,而是使用它来选择一个字段,通过该字段可以对汇总函数进行分组。
如果您使用:
SELECT `vote`,COUNT(*) FROM Poll GROUP BY `vote`
然后,这将返回两个结果,每个结果具有两个值:表决(是或否)和该表决的计数。
$handle = mysql_query(\"SELECT `vote`,COUNT(*) AS `count` FROM Poll GROUP BY `vote` ORDER BY `vote` DESC\");
if ($handle) {
$results = mysql_fetch_assoc($handle);
echo ($results[0][\'count\'] + $results[1][\'count\']) . \"<br>\" . $results[0][\'count\'] . \"<br>\" . $results[1][\'count\'];
}
注意使用“ 5”部分,将顺序强制为是,然后否(按字母反向),然后您不必检查哪一行。