#php #html
#php #HTML
Вопрос:
У меня есть массив, такой:
$prices = array();
Вместе с запросом MySQL и выборкой:
$query = "SELECT $columns FROM Prices WHERE `key` LIKE '$rows' LIKE '$AirportPU' AND rate LIKE '$rate'";
if($results = $db->query($query))
{
if($results->num_rows)
{
while($row = $results->fetch_object())
{
$prices[] = $row;
}
$results->free();
}
Я распечатал таблицу, используя следующий код: (я удалил некоторые столбцы таблицы)
<?php
if(!count($prices)) {
echo '<p>No results found for your current search. Use the inputs to the left to change the filters.</p>';
} else {
?>
<table>
<thead>
<tr>
<th>Location</th>
<th>City</th>
</tr>
</thead>
<tbody>
<?php
foreach ($prices as $p) {
?>
<tr>
<td> <?php echo $p->Location; ?> </td>
<td> £<?php echo $p->City; ?> </td>
</tr>
<?php
}
?>
</tbody>
</table>
<?php } ?>
Я могу вернуть данные из запроса MySQL и распечатать их в таблице. Однако иногда не все столбцы нужно печатать, поскольку они не имеют значений. Я хотел бы скрыть эти столбцы.
Я попытался проверить массив с помощью:
print (isset($prices["City"])) ? "Exists</br>" : "Doesn't Exist</br>" ;
Но это всегда возвращает «Не существует»
if (array_key_exists("City",$prices))
{
echo "Element exists!";
}
else
{
echo "Element does not exist!";
}
Это также возвращает false.
Комментарии:
1. Попробуйте проверить empty() вместо isset(), смотрите больше здесь techtalk.virendrachandak.com/php-isset-vs-empty-vs-is_null
2. Ах, извините, я сначала попробовал пустой, забыл упомянуть об этом. тот же результат:(
Ответ №1:
Вам нужно проверить это внутри foreach
цикла, который вы выполняете.
print (isset($p->City)) ? "Exists</br>" : "Doesn't Exist</br>" ;
Ответ №2:
Проверьте с помощью
if(empty($price['City'] || $price['City'] == "")){
//Hide column
}
Комментарии:
1. if( is_empty($price[‘City’])){ echo «Нет данных»; } else if (is_empty($ price [‘City’]) == false) { echo «данные»; } Пробовал это: остальная часть моей страницы не отображается? не уверен, что не так
2. Извините, is_empty не является функцией. Это пусто();