<?php
$sql = [
['id'=>1,'user_id'=>1,'question_id'=>1,'answer'=>'3c','date'=>'2021.08.06',],
['id'=>2,'user_id'=>1,'question_id'=>2,'answer'=>'2c','date'=>'2021.08.06',],
['id'=>3,'user_id'=>1,'question_id'=>3,'answer'=>'1c','date'=>'2021.08.06',],
['id'=>4,'user_id'=>1,'question_id'=>4,'answer'=>'com','date'=>'2021.08.06',],
['id'=>5,'user_id'=>2,'question_id'=>1,'answer'=>'3','date'=>'2021.08.08',],
['id'=>6,'user_id'=>2,'question_id'=>2,'answer'=>'2','date'=>'2021.08.08',],
['id'=>7,'user_id'=>2,'question_id'=>3,'answer'=>'1','date'=>'2021.08.08',],
['id'=>8,'user_id'=>2,'question_id'=>4,'answer'=>'2comm','date'=>'2021.08.08',],
['id'=>9,'user_id'=>211,'question_id'=>1,'answer'=>'113','date'=>'2021.07.08',],
['id'=>10,'user_id'=>211,'question_id'=>2,'answer'=>'22','date'=>'2021.07.08',],
['id'=>11,'user_id'=>211,'question_id'=>3,'answer'=>'132','date'=>'2021.07.08',],
['id'=>12,'user_id'=>211,'question_id'=>4,'answer'=>'qeww','date'=>'2021.07.08',]
];
$quest = array_unique(array_column($sql, 'question_id'));
sort($quest); // optional
$data = [];
foreach($sql as $row){
$user_id = $row['user_id'];
if (!isset($data[$user_id])){
$data[$user_id] = ['date' => $row['date'], 'ans' => []];
}
foreach($quest as $question_id){
if ($row['question_id'] == $question_id) {
$data[$user_id]['ans'][$question_id] = $row['answer'];
}
}
}
foreach($data as $userID => $user_data){
echo '<tr>'.PHP_EOL;
echo ' <td> User ID: '.$userID.'</td>'.PHP_EOL;
foreach($user_data['ans'] as $q_id => $q_ans){
echo ' <td>'.$q_ans.'</td>'.PHP_EOL;
}
echo ' <td> Date: '.$user_data['date'].'</td>'.PHP_EOL;
echo '</tr>'.PHP_EOL;
}
- Output for 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.4, 8.3.6 - 8.3.25, 8.4.1 - 8.4.12
- <tr>
<td> User ID: 1</td>
<td>3c</td>
<td>2c</td>
<td>1c</td>
<td>com</td>
<td> Date: 2021.08.06</td>
</tr>
<tr>
<td> User ID: 2</td>
<td>3</td>
<td>2</td>
<td>1</td>
<td>2comm</td>
<td> Date: 2021.08.08</td>
</tr>
<tr>
<td> User ID: 211</td>
<td>113</td>
<td>22</td>
<td>132</td>
<td>qeww</td>
<td> Date: 2021.07.08</td>
</tr>
- Output for 8.3.5
- Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
<tr>
<td> User ID: 1</td>
<td>3c</td>
<td>2c</td>
<td>1c</td>
<td>com</td>
<td> Date: 2021.08.06</td>
</tr>
<tr>
<td> User ID: 2</td>
<td>3</td>
<td>2</td>
<td>1</td>
<td>2comm</td>
<td> Date: 2021.08.08</td>
</tr>
<tr>
<td> User ID: 211</td>
<td>113</td>
<td>22</td>
<td>132</td>
<td>qeww</td>
<td> Date: 2021.07.08</td>
</tr>
preferences:
153.57 ms | 409 KiB | 5 Q