Нижний колонтитул подвержен влиянию bootstrap c; ass

#php #html #bootstrap-4

#php #HTML #bootstrap-4

Вопрос:

В настоящее время я работаю над страницей магазина для своего веб-сайта, и, похоже, я столкнулся с проблемой. Я создал функцию поиска для своего веб-сайта. В search.php однако страница, на которой элементы отображаются в соответствии с поиском, класс bootstrap, похоже, мешает моему нижнему колонтитулу. Когда я удаляю класс, нижний колонтитул отлично вписывается в страницу, но карточки продуктов запутываются. Когда я добавляю класс обратно в мой нижний колонтитул, он сжимается и искажается. Что я могу сделать, чтобы этого не произошло?

Вот мой код:

search.php:

         while($row = $stmt->fetch()){
        $stock = $row['stock'];
        if ($stock > 0){
        echo '
        <div class="col-xs-12 col-sm-6 col-md-4 col-lg-3">
                <form method="post" action="view_product.php?action=addamp;id='.$row["ID"].'">
                    <div class="products">

                        <a href="view_product.php?product='.$row["ID"].'">
                            <img src="'.$row["image"].'" class="product-img">
                        </a>';

echo'                           <div class="product-txt" style="padding: 5px;">
                                <h4 style="line-height: 10px;">

                                <a href="view_product.php?product='.$row['ID'].'">
                                    <b>'.$row['name'].'</b>
                                </a>
                        <br>

                        <h4>';
                            if($stock > 0){
                                echo ''.$row["price"].'';}
                            else{
                                echo ''.$row['outofstock'].'';
                        }
echo'                       </h4>
                        </h4>
                    </div>
            </div>
        </form>
    </div>


  </body>
    
    ';
    }
}
include 'footer.php';
  

Класс «col-xs-12 col-sm-6 ….» создает помехи для моего нижнего колонтитула. Что я могу сделать, чтобы исправить это. Заранее спасибо!

Ответ №1:

Вот ваши ошибки:

 echo'                       </h4>
                        </h4>
                    </div>
            </div>
        </form>
    </div>
  </body>
    
    ';
    }
}
include 'footer.php';
  

Первое — двойное закрытие </h4> , вы не можете иметь <h4> внутри <h4> , но реальная проблема заключается в включении текста footer после закрытия </body> .
Такое иногда случается, но вам лучше использовать валидатор w3c


обновление
Вот как это должно происходить

 while($row = $stmt->fetch()){
    $stock = $row['stock'];
    if ($stock > 0){    echo
        "<div class="col-xs-12 col-sm-6 col-md-4 col-lg-3">rn
        <form method="post" action="view_product.php?action=addamp;id=$row['ID']">
        <div class="products">rn
        <a href="view_product.php?product=$row['ID']"><img src="$row['image']" class="product-img"></a></div>rn
        <div class="product-txt" style="padding: 5px">rn
        <h4 style="line-height: 10px">
        <a href="view_product.php?product=$row['ID']"><b>$row['name']</b></a>
        $row['price']
        </h4></div></form></div>rn";}
    else{   echo "<p>$row['outofstock']</p>rn";}}
include './footer.php';
echo'</body></html>';
  

Дело в том, что вы должны контролировать свои циклы и HTML-теги — то, что открыто, должно быть вовремя закрыто. Если вы заблудились, взгляните на исходный код в вашем браузере. И используйте валидатор w3c, как это делают лучшие дизайнеры.

Комментарии:

1. Спасибо. Проблема в том, что если я включу нижний колонтитул раньше, он просто повторится с everyproduct .