PHP Скрывает кнопку, если данные существуют

#php #html #sql

#php #HTML #sql

Вопрос:

Я пытаюсь скрыть кнопку, если «имя» пустое, ошибка не отображается, но кнопка все еще отображается, я попытался добавить к ней css, но кнопка все еще отображается

  <table style="width:100%" border="1px">
<tr align="center">
  <th>Name</th>
  <th>Image</th>
  <th>PDF</th>
  <th>Grade</th>
  <th>Date</th>
</tr>
  
<?php

foreach ($records as $value) {
  $id = $row['id'];
  echo '<tr align="center">';
  echo "<td>" . $value['name'] . "</td>";

if ($value['name']  != ''){
echo "<td> <a  class='design' style='display:none;' href='".$value['img_name']."'>Download image</a></td>";
}else{
    echo "<td> <a  class='design' href='".$value['img_name']."'>Download image</a></td>";
}

  echo "<td><a class='cert' href='".$value['pdf_name']."' download>Download PDF</a></td>";
  echo "<td>". $value['score']."</td>";
  echo "<td>". $value['date']."</td>";
  echo "</tr>";
}
echo "</table>";

mysqli_close($con);
?>
 

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

1. У вашей отображаемой кнопки есть атрибут «скрытый» или «загрузить»?

2. Есть ли какая-либо причина, по которой вы все еще выводите кнопку, если нет значения? Если кнопка не требуется, лучше, чтобы PHP ничего не выводил.

Ответ №1:

Просто добавьте класс hide в первое условие if и добавьте display: none в этот класс

HTML:

 if ($value['name']  != ''){
    echo "<td> <a  class='design hide' href='".$value['img_name']."'>Download image</a></td>";
}else{
    echo "<td> <a  class='design' href='".$value['img_name']."'>Download image</a></td>";
}
 

CSS:

 .hide { display: none; }
 

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

1. Это означает, что вы попадаете во второе условие if.

Ответ №2:

В PHP есть вызываемая функция empty , которая может использоваться для определения, является ли переменная пустой или нет.

В вашей ситуации я не понимаю, почему вы хотите, чтобы PHP выводил кнопку, если после этого она просто будет скрыта CSS.

В PHP вы можете использовать пустую функцию следующим образом:

 <?php
$var4you = "";

if (!empty($var4you)) {
    //Display only when there is a value
}
?>
 

Для вас это в вашем коде, вы, вероятно, захотите сделать это:

 <?php
if (!empty($value['name'])) {
    echo "<td> <a  class='design' href='".$value['img_name']."'>Download image</a></td>";
}
?>
 

Вы можете узнать больше об использовании empty функции в PHP в документах: https://www.php.net/manual/en/function.empty.php