Я ищу дни, чтобы решить мою проблему. У меня были разные идеи, но ни одна из них не работает так, как ожидалось.
Моя проблема: у меня есть несколько таблиц mysql, которые выглядят так:
Что я хочу сделать с этой таблицей mysql, опубликовать ее как html-таблицу
который должен выглядеть примерно так:
Моя проблема в том, что я не знаю количество пользователей, которые голосуют за ответ, и я даже не знаю количество ответов.
Я просто хочу пометить ячейку таблицы знаком х, в котором пользователь выбрал ответ.
Это код, ближайший к моей намеченной цели.
$sql = "SELECT voting_user.*, voting_user_answer.*, voting_answeren.* FROM
voting_user, voting_user_answer, voting_answeren WHERE
voting_user_answer.thema_id = $thema_id AND voting_user.user_id =
voting_user_answer.user_id AND voting_answeren.answer_id =
voting_user_answer.answer_id";
$i=0;
echo "<table border=1>";
echo "<tr><th>answer-ID</th><th>answer</th><th>user</th>";
foreach ($pdo->query($sql) as $row) {
echo "<tr><td>".$row["answer_id"]."</td>
<td>".$row["answer_option"]."</td><td>".$row["user_name"]."</td></tr>";
$tableRows[$i]=array("answer_option"=>$row["answer_option"],
"user_name"=>$row["user_name"], "cross"=>"x");
$namen[$i]=$row["user_name"];
$answer = Array
(
"answer_option" => $row["answer_option"]
, "test2" => "x");
$i++;
$counter=$i-1;
}
echo "</table>";
$resultMatrix = array();
foreach($tableRows as $resulting) {
$from = $resulting['answer_option'];
$to = $resulting['user_name'];
$cross = $resulting['cross'];
$resultMatrix[$from][$to] = $cross;
}
echo '<table border="1">';
echo '<tr>';
echo '<th>', '#', '</th>';
foreach($namen as $user_name) {
echo '<th>', $namen[$i] ,'</th>';
}
echo '</tr>';
foreach(array_keys($resultMatrix) as $answer_option) {
echo '<tr>';
echo '<td>', $answer_option, '</td>';
foreach(array_keys($resultMatrix[$answer_option]) as $user_name) {
echo '<td>', $resultMatrix[$answer_option][$user_name], '</td>';
}
echo '</tr>';
}
echo '</table>';
Буду благодарен даже за малейшие намеки.
Мой вывод html пока выглядит так
Но я хочу, чтобы это выглядело так
Верхняя таблица просто для пояснения, чтобы вы могли видеть, как выглядят результаты голосования.
Моя проблема в том, что я не знаю, сколько пользователей голосуют и сколько ответов может выбрать пользователь.
Это будет отличаться от опроса к опросу. Поэтому я не могу использовать статическую таблицу, чтобы пометить ячейку.
Задача ещё не решена.
Других решений пока нет …