看到一个类似的问题,没有答案,我开始想知道如何对齐数据库中的数据。
假设我有3张桌子: 国家-StateID | StateName 飓风-HurricaneID | HurricaneName 用户-UserID | UserName | StateID | HurricaneID
目的是允许用户输入他们的姓名,然后选择一个州和一个HurricaneName。存储在“用户”表中的数据的组合。
假设用户可以选择状态和自然事件,但是一旦选择了组合,就无法再次选择。 (即Tonya-> HurricaneSandy-> NJ,以及Tony-> HurricaneSandy-> AL,但是没人可以再次选择状态和自然事件的组合)。
像这样,如何将数据打印到HTML表中以便对齐
HurricaneName | AL |新泽西州| MA | Y 桑迪·托尼·托尼亚 巴里 安德鲁 丽莎
我可以获取X轴和Y轴的数据,但是随后我无法获得显示在表主体中的UserName。
The 2 queries used:
$table_data_query = "SELECT * FROM Results
RIGHT OUTER JOIN States
USING (StateID)
RIGHT OUTER JOIN Hurricanes
USING (HurricaneID)
GROUP BY HurricaneName";
$table_data_result = $mysqli->query($table_data_query);
$states_hurricanes = "SELECT * FROM States, Hurricanes";
$states_hurricanes_result = $mysqli->query($states_hurricanes);
<tbody>
<?php
foreach($table_data_result as $t) {
echo '<tr>';
echo '<th scope="row">' . $t['HurricaneName'] . '</th>';
foreach($states_hurricanes_result as $i) {
if($t['StateID'] == $i['StateID'] && $t['HurricaneID'] == $i['HurricaneID']) {
echo '<td>' . $t['UserName'] . '</td>';
} else {
echo '<td>--</td>';
}
}
echo '</tr>';
}
?>
</tbody>
使用上面的代码,您无法使数据排队。即便如此,如果必须显示所有飓风名称和表名称,而不考虑数据库中的哪个UserName,数据将如何排列?我处理方法有误吗?