即時通訊與我的PHP腳本有點問題,計數與特定調查問卷ID匹配的ID列條目。結果似乎相當反社會的,只是不想因爲某些原因組了....按ID分組不會分組在PHP
$sql30 = <<<SQL
SELECT id, COUNT(id)
FROM `QuestionnaireAnswers`
WHERE questionnaireID='$questionnaireID'
GROUP BY id
SQL;
if(!$result30 = $db->query($sql30)){ die('There was an error running the query [' . $db->error . ']');}
while($row30 = $result30->fetch_assoc()){
if ($row30['COUNT(id)'] == '' OR $row30['COUNT(id)'] == '0'){$numberofresponses = '0';}
else {$numberofresponses = $row30['COUNT(id)'];}
echo '<td>'.$numberofresponses.'</td>';
}
如果我使用的1327809154樣本questionnaireID並運行在phpMyAdmin以下查詢:
SELECT id, COUNT(id)
FROM `QuestionnaireAnswers`
WHERE questionnaireID = '1327809154'
GROUP BY id
LIMIT 0 , 30
我得到如下結果:
id COUNT(id)
129 1
130 1
131 1
132 1
133 1
134 1
277 1
278 1
280 1
281 1
282 1
284 1
290 1
419 1
424 1
425 1
426 1
所以.....這似乎是計數結果,而不是將它們分組給我一個總.........
編輯,我現在已經把它改爲:
$sql30 = <<<SQL
SELECT questionnaireID, COUNT(questionnaireID)
FROM `QuestionnaireAnswers`
WHERE questionnaireID='$questionnaireID'
GROUP BY questionnaireID
SQL;
if(!$result30 = $db->query($sql30)){ die('There was an error running the query [' . $db->error . ']');}
while($row30 = $result30->fetch_assoc()){
if ($row30['COUNT(questionnaireID)'] == '' OR $row30['COUNT(questionnaireID)'] == '0'){$numberofresponses = '0';}
else {$numberofresponses = $row30['COUNT(questionnaireID)'];}
echo '<td>'.$numberofresponses.'</td>';
}
這將返回:
questionnaireID COUNT(questionnaireID)
1327809154 17
這部作品在phpMyAdmin的,但有些沒有理由回到我的腳本,該表的列,其中數應該是空白的。
啊我明白了,所以最好用問卷ID進行分組? –
好吧,似乎在phpmyadmin工作,如果我使用questionnaireID,因爲它返回17,但由於某種原因在我的腳本輸出我仍然有一個空白列在我的表中。 –
是的,如果你在結果中需要它。否則,你可以選擇'COUNT(id)'。 – joe776