目前我使用这个代码来统计调查回复:
$VERYHAPPY = mysql_query("SELECT * FROM answers, complete WHERE (answers.uniqueID = complete.uniqueID) AND (complete.timestamp) IS NOT NULL AND (answers.surveyID='$surveyID') AND QID = '$QID' AND response = 'VERY HAPPY' ");
$HAPPY = mysql_query("SELECT * FROM answers, complete WHERE (answers.uniqueID = complete.uniqueID) AND (complete.timestamp) IS NOT NULL AND (answers.surveyID='$surveyID') AND QID = '$QID' AND response = 'HAPPY' ");
$DONTKNOW = mysql_query("SELECT * FROM answers, complete WHERE (answers.uniqueID = complete.uniqueID) AND (complete.timestamp) IS NOT NULL AND (answers.surveyID='$surveyID') AND QID = '$QID' AND response = 'DONT KNOW' ");
$UNHAPPY = mysql_query("SELECT * FROM answers, complete WHERE (answers.uniqueID = complete.uniqueID) AND (complete.timestamp) IS NOT NULL AND (answers.surveyID='$surveyID') AND QID = '$QID' AND response = 'UNHAPPY' ");
$VERYUNHAPPY = mysql_query("SELECT * FROM answers, complete WHERE (answers.uniqueID = complete.uniqueID) AND (complete.timestamp) IS NOT NULL AND (answers.surveyID='$surveyID') AND QID = '$QID' AND response = 'VERY UNHAPPY' ");
$VERYHAPPYcount = mysql_num_rows($VERYHAPPY);
$HAPPYcount = mysql_num_rows($HAPPY);
$DONTKNOWcount = mysql_num_rows($DONTKNOW);
$UNHAPPYcount = mysql_num_rows($UNHAPPY);
$VERYUNHAPPYcount = mysql_num_rows($VERYUNHAPPY);
echo "VERY HAPPY = $VERYHAPPYcount</br>HAPPY = $HAPPYcount</br>DON'T KNOW = $DONTKNOWcount</br>UNHAPPY = $UNHAPPYcount</br>VERY UNHAPPY = $VERYUNHAPPYcount";
你可以看到-它真的很乱!有更好的方法吗?我试过COUNT和GROUP BY,但都没用。由于
你可以试试这个SQL(我还没有测试过)-
SELECT count(*) as recordcount, response
FROM answers, complete
WHERE (answers.uniqueID = complete.uniqueID)
AND (complete.timestamp) IS NOT NULL
AND (answers.surveyID='$surveyID')
AND QID = '$QID'
GROUP BY response
得到的结果进入PHP你可以尝试这样的东西(我不能测试PHP代码,所以我已经基于下面的代码在这段代码- http://php.net/manual/en/function.mysql-query.php和希望最好的!下面的代码几乎肯定会包含错误,但希望能给你一个如何做到这一点的想法)
//assign sql above to $query variable prior to doing this
$result = mysql_query($query);
while ($row = mysql_fetch_assoc($result)) {
echo $row['response'] & " = " & $ row['recordcount'] & "count</br>"
}