PHP使用foreach循环在表中显示数据

我有 2020 年飓风名称和所有州。我想遍历我的数据库并查看是否选择了选项。如果是,请用名称填充该位置。如果不是,请添加“--”。它看起来几乎就像一个数据电子表格。


当我提交数据时,它没有填充到正确的位置并添加了一堆空单元格。


这是我的查询:


// DB Connection

$db_connection = mysqli_connect('localhost','root','','hurricane_bowl');


    $i = "SELECT * FROM users RIGHT JOIN states USING (state_id) GROUP BY (state_name) ORDER BY state_name ASC";

$state = mysqli_query($db_connection, $i);


$g = "SELECT * FROM users RIGHT JOIN hurricanes USING (hurricane_id) GROUP BY (hurricane_name) ORDER BY hurricane_name ASC";

$hurricane = mysqli_query($db_connection, $g);

这是我的循环:


<table class="table table-striped table-bordered">

                <thead>

                    <tr>

                        <th scope="col">Hurricane Name</th>

                        <?php

                        foreach($state as $stval) {


                            echo '<th scope="col">' . $stval['state_name'] . '</th>';

                        }

                        ?>

                    </tr>

                </thead>

                <tbody>

                    <?php

                    foreach($hurricane as $h) {

                        echo '<tr>';

                        echo '<th scope="row">' . $h['hurricane_name'] . '</th>';

                        foreach($state as $st) {

                            if($st['state_id'] != NULL && $h['hurricane_id'] != NULL) {

                                echo '<td>' . $st['username'] . '</td>';

                            } else {

                                echo '<td>--</td>';

                            }

                        }

                        echo '</tr>';

                    }


                    ?>

                </tbody>

            </table>


拉风的咖菲猫
浏览 156回答 1
1回答

胡子哥哥

首先需要对查询进行更改:如果要显示三个单独的查询结果,则需要三个单独的表,否则没有意义,因为您正在检索的三个数据集之间没有联系。或者,您只需要一个数据集。在查询中用于JOIN链接多个表结果,假设表之间存在链接。其次,当循环嵌套时,每一层都是它自己的维度。在您的情况下,您正在尝试创建一种无法工作的 3 维表格。通常对于一个查询结果你只需要一个foreach循环,但是如果你没有关于表字段的任何信息,你可以有两个,而不是更多。
打开App,查看更多内容
随时随地看视频慕课网APP