PHP нет результатов из поста

0

У меня есть окно поиска, которое должно возвращать результаты из базы данных. Код ниже:

    <div style="margin-top:70px;">
<?php include 'inc/search.php'; ?>
</div>
<hr>

<div class="container">
    <?php 
    if($check_num_rows !== 0) {
        echo '<h3>Results</h3>';
        while($row = mysqli_fetch_array($result)) {
            echo '
        <a href="product.php?product='. $row['link'] .'">
          <div class="row fix">
              <div class="col-md-2">
                  <img src="files/'. $row['main_image'] .'" class="img-responsive" />
              </div>
              <div class="col-md-4">
                  <h2>'. $row['item_title'] .'</h2>
                  <h4>'. $row['description'] .'</h4>
              </div>    
              <div class="col-md-2">
                  <h4>Size:<br /> '. $row['size'] .'</h4>
              </div>
              <div class="col-md-2">
                  <h4>&pound;'. $row['price'] .'</h4>
              </div>
          </div>
        </a>';
        }
    } else {
        echo '<h2>Sorry, no items could be found for your search.</h2><h4>Consider buying one new <a href="http://www.scholars-uk.com" target="">here</a>?</h4>';
    } ?>
</div>

Для этого я знаю, что <?php include 'inc/search.php';?> <?php include 'inc/search.php';?> должен быть ниже остальной части кода, но это нарушит макет страницы, который я хочу. Есть ли способ иметь <?php include 'inc/search.php';?> <?php include 'inc/search.php';?> ниже остальной части кода, но все равно выполняться на странице выше, чтобы он не нарушил макет. Извините, если я не объяснил это очень четко. Заранее спасибо.

  • 0
    Вы можете сохранить результаты поиска в $variable и затем использовать ее в любом месте кода.
Теги:

2 ответа

0
Лучший ответ

Сохранять результат в переменной. И echo его там, где вы хотите:

<div style="margin-top:70px;">
<?php include 'inc/search.php'; ?>
</div>
<hr>

<div class="container">
    <?php 
    if($check_num_rows !== 0) {
        $result = '<h3>Results</h3>';
        while($row = mysqli_fetch_array($result)) {
            $result .= '
        <a href="product.php?product='. $row['link'] .'">
          <div class="row fix">
              <div class="col-md-2">
                  <img src="files/'. $row['main_image'] .'" class="img-responsive" />
              </div>
              <div class="col-md-4">
                  <h2>'. $row['item_title'] .'</h2>
                  <h4>'. $row['description'] .'</h4>
              </div>    
              <div class="col-md-2">
                  <h4>Size:<br /> '. $row['size'] .'</h4>
              </div>
              <div class="col-md-2">
                  <h4>&pound;'. $row['price'] .'</h4>
              </div>
          </div>
        </a>';
        }
    } else {
       $result .= '<h2>Sorry, no items could be found for your search.</h2><h4>Consider buying one new <a href="http://www.scholars-uk.com" target="">here</a>?</h4>';
    } ?>
</div>

Теперь вы можете echo $result.

0

Трудно сказать, в чем проблема, не зная содержимого того, что в "inc/search.php", однако, похоже, что проблема, с которой вы сталкиваетесь, является результатом смешивания проблем с отображением проблем вашей модели.

Вы можете захотеть отделить свои проблемы, чтобы они не были так тесно связаны. Общим примером для этого в веб-разработке является Model-View-Controller (http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller). Существует много фреймворков PHP, которые помогают обеспечить это.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню