在HTML表中对齐查询结果

看到一个类似的问题,没有答案,我开始想知道如何对齐数据库中的数据。

假设我有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,数据将如何排列?我处理方法有误吗?

enter image description here

评论