Не отображать конкретный пустой столбец строки из базы данных - PullRequest
0 голосов
/ 29 августа 2018

У меня есть рабочий код, который может вставлять и обновлять информацию из базы данных и выводить ее на страницу. но мне нравится скрывать определенный пустой столбец при отображении всей информации из строки. проверить этот скриншот моя цель - скрыть столбец «изображение», когда он пуст / пуст; поэтому изображение черепка не будет отображаться. вот мой код ниже:

 <?php
    $result = mysqli_query($mysqli, "SELECT * FROM blogs ORDER BY id DESC");
    while ($row = mysqli_fetch_array($result)) 

    if (!empty($row['image'] != "")) 

    {
      echo "<div class='row'>
        <div class='col-lg-12 box'>
           <div class='content-heading'>
             <p>
                <text>".$row['title']."</text>
             </p>
           </div>

             <p>    
                <text1 class='pull-right' >".$row['image_text']."</text1><br/>
             <img class='img-size' id='hp'src='admin/upload_images/".$row['image']."'/>

             <text>".$row['definition']."</text> 
            </p>
          </div>
       </div>";     

   }
?>

но этот код if (!empty($row['image'] != "")) скрывает всю строку из моей базы данных. Может у кого-нибудь есть правильное решение моей проблемы?

Ответы [ 3 ]

0 голосов
/ 29 августа 2018

Вместо того, чтобы скрывать всю строку, вы можете просто скрыть тег изображения, например:

 <?php
    $result = mysqli_query($mysqli, "SELECT * FROM blogs ORDER BY id DESC");
    while ($row = mysqli_fetch_array($result)) 
    {
        echo "
            <div class='row'>
                <div class='col-lg-12 box'>
                    <div class='content-heading'>
                        <p>
                            <text>".$row['title']."</text>
                        </p>
                    </div>

                    <p>    
                        <text1 class='pull-right' >".$row['image_text']."</text1><br/>
        ";

        if (!empty($row['image'])) {
            echo "<img class='img-size' id='hp'src='admin/upload_images/".$row['image']."'/>";      
        }                 

        echo "
                 <text>".$row['definition']."</text> 
                </p>
              </div>
           </div>
       ";     

   }
?>
0 голосов
/ 29 августа 2018

Ваше условие if будет также скрывать все остальные html-элементы. Вместо этого вам следует скрывать только тег img, когда значение для image.

не найдено.

Обновите ваш код, как показано ниже:

while ($row = mysqli_fetch_array($result)) {
    $image = (!empty($row['image'])) ? "<img class='img-size' id='hp'src='admin/upload_images/" . $row['image'] . "'/>" : "";
    echo "<div class='row'>
            <div class='col-lg-12 box'>
               <div class='content-heading'>
                 <p>
                    <text>" . $row['title'] . "</text>
                 </p>
               </div>        
                 <p>    
                    <text1 class='pull-right' >" . $row['image_text'] . "</text1><br/>
                    " . $image . "
                    <text>" . $row['definition'] . "</text> 
                </p>
            </div>
        </div>";
}
0 голосов
/ 29 августа 2018

Вы можете попробовать использовать атрибут style тега <img>, чтобы выборочно показать или скрыть тег изображения:

<img class='img-size'
     id='hp'
     style='display: '. ($row["image"] != "" ? "block" : "none") . ';'
     src='admin/upload_images/".$row['image']."'/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...