Считайте данные MySQL в колонки Bootstrap 4 - PullRequest
0 голосов
/ 09 ноября 2019

Добро пожаловать, жители форума,

Моя цель состоит в том, чтобы отображать данные MySQL на входных картах, а карты выровнены рядом в начальной загрузке 4 строки.

Чтение данных MySQL работает нормально, но вводкарты не сопоставляются сеткой Bootstrap 4. (Если я не читаю данные из MySQL, я использую только обычный HTML, система Grid работает.)

Код:

...
        <?php include_once('includes/head.tpl'); ?>
    </head>
    <body>
        <?php include_once('includes/php/navbar.php'); ?>
            <form method="GET" action="action2.php">
        <?php
            $result = mysqli_query($conn, "SELECT * FROM plans");
            while($row = mysqli_fetch_array($result)) {
        ?>
                <div class="container">
                    <div class="row">
                        <div class="col-sm-4">
                            <label>
                                <input type="radio" name="plan_id" id="plan_id" value="<?php echo $row['id']; ?>" class="card-input-element" />
                                <div class="card-input">
                                    <?php echo $row['plan_name']; ?><br>
                                    <?php echo $row['plan_cpu']; ?><br>
                                    <?php echo $row['plan_memory']; ?><br>
                                    <?php echo $row['plan_disk']; ?><br>
                                </div>
                            </label>
                        </div>
                    </div>
         <?php   
            }  
        ?>
        <input type="submit" name="btn-submit">
            </form>  
         </div>

...

Конечный результат:

enter image description here

В чем может быть проблема?
Почему грид-система не работает при чтении MySQL?

Заранее спасибо за ответы!

1 Ответ

1 голос
/ 09 ноября 2019

Проблема выглядит так, как будто вы создаете загрузочный контейнер div и элемент строки для каждой строки данных, это должно быть вне цикла, в котором вы извлекаете строки ...

            <div class="container">
                <div class="row"> 
    <?php    
        $result = mysqli_query($conn, "SELECT * FROM plans");
        while($row = mysqli_fetch_array($result)) {
    ?>
                    <div class="col-sm-4">
                        <label>
                            <input type="radio" name="plan_id" id="plan_id" value="<?php echo $row['id']; ?>" class="card-input-element" />
                            <div class="card-input">
                                <?php echo $row['plan_name']; ?><br>
                                <?php echo $row['plan_cpu']; ?><br>
                                <?php echo $row['plan_memory']; ?><br>
                                <?php echo $row['plan_disk']; ?><br>
                            </div>
                        </label>
                    </div>
     <?php   
        }  
     ?>
                </div>
            </div>

Если у вас естьбольше планов, которые помещаются в строку, вам нужно будет создавать элементы div для строки каждый раз, когда вы достигаете точки разделения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...