不能以正确的列打印

时间:2017-11-04 12:12:49

标签: php html mysqli dynamic

我已经设置了for和while循环来打印我的菜单系统的数据库内容。它工作正常,但是,每个表格内容的显示位置都在下面的位置。见下图: enter image description here

问题在于"主要课程"应该属于" Starters"部分。

请参阅我的代码:

        <?php
    $query = "SELECT * FROM menu_type";
    $result = mysqli_query($connect, $query);
    $result_array = array();
    $numRows = mysqli_num_rows($result); // returns the num of rows from the query above, allowing for dynamic returns

    while($row = mysqli_fetch_assoc($result)){
        $menuType = $row['type'];
        $result_array[] = $menuType; // This array holds each of the menu_types from DB
    }

    $countArray = count($result_array);

    for($i = 0; $i < $countArray; $i++){
        echo "<h1 id='starters' class='head-font text-center head'>$result_array[$i]</h1>";

        $query = "SELECT * FROM menu WHERE type_id='$result_array[$i]'";
        $result = mysqli_query($connect, $query) or die(mysqli_error($connect));

        echo 
        "              
        <div id='hide'>
            <table class='table table-hover table-responsive'>
            <thead>
                <tr>
                    <th>
                    Item
                    </th>

                    <th class='text-right'>
                    Price
                    </th>
                </tr>
            </thead>
        <tbody>
                    ";


        $menuQuery = "SELECT * FROM menu, menu_type WHERE type_id='$i' AND menu.type_id = menu_type.id";
        $menuResult = mysqli_query($connect, $menuQuery) or die(mysqli_error($connect));

        while ($row = mysqli_fetch_assoc($menuResult)) {
            $name = $row['name'];
            $description = $row['description'];
            $price = $row['price'];

            echo
            "<tr>" .
            "<td>$name - <small>$description</small></td>" .
            "<td class='text-right'>" . "£" . $price . "</td>" .
            "</tr>";
        }

            echo "</tbody>
                </table>               
            </div>";

    }

    for($j = 1; $j < $numRows+1; $j++){
        echo $j;
    }

    // print_r($result_array[2]);
        ?>

0 个答案:

没有答案