Все ваши строки с:
['A', <?php echo $count; ?>]
to
['F', <?php echo $count; ?>]
У вас одинаковый номер, отсюда и ваш результат.
В общем: просто забудьте о PHP и сначала посмотрите на отправляемый ИСТОЧНИКв браузер. Этот был легко обнаружен, если вы это сделали.
И проблема заключается в вашем PHP-коде, который невозможно отладить, не видя, откуда берется $ count.
РЕДАКТИРОВАТЬ:
Чтобы уточнить:
Эта часть:
var data = google.visualization.arrayToDataTable([
['Task', 'Hours per Day'],
['A', <?php echo $count; ?>],
['B', <?php echo $count; ?>],
['C', <?php echo $count; ?>],
['D', <?php echo $count; ?>],
['E', <?php echo $count; ?>],
['F', <?php echo $count; ?>]
]);
Всегда имеет одинаковое количество $. И это все, что получает ваш браузер, потому что ваш веб-браузер не знает о вашем PHP или запросах к базе данных. (Это важно помнить для будущих сеансов отладки.)
Таким образом, грубое решение было бы:
(я предполагаю, что ваш опубликованный javascript получен из файла PHP в этом примере)
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
google.charts.load('current', {'packages':['corechart']});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Task', 'Hours per Day'],
<?php
$aantal = $row['count(answer_id)'];
for ($meme = 1; $meme <= $aantal; $meme++) {
$countAnswerQuery = "SELECT answer_id, COUNT(*), question_id FROM survey_answers WHERE question_id = '$meme' GROUP BY answer_id ORDER BY question_id ASC";
$countanswerresult = mysqli_query($conn, $countAnswerQuery);
if ($countanswerresult ->num_rows > 0) {
while ($row = mysqli_fetch_array($countanswerresult)) {
$question = $row['question_id'];
$answer = $row['answer_id'];
$count = $row['COUNT(*)'];
// I am guessing $answer contains A, B, C, not sure.
echo "['" . $answer . "', {$count}],";
}
}
?>
]);
var options = {
title: 'Aantal antwoorden:'
};
var chart = new google.visualization.PieChart(document.getElementById('piechart'));
chart.draw(data, options);
}
</script>
Что довольно уродливо по сравнению с запросом Ajax, но работает.