Я выбираю из базы данных Oracle в PHP и помещаю массив результатов в переменную.
Вот формат массива в моей переменной $day
:
Array
(
[START_EXECUTION] => Array
(
[0] => 20-NOV-14
[1] => 21-NOV-14
[2] => 22-NOV-14
)
[NUM_OF_POPULATION] => Array
(
[0] => 6355
[1] => 6521
[2] => 6740
)
[SUM_AMOUNT] => Array
(
[0] => 366907360.38
[1] => 386256312.15
[2] => 404543462.06
)
)
Но иногда запрос будет возвращать 0 строк. Поэтому я должен проверить, возвращает ли запрос 0 строк или нет. Если нет, я буду обрабатывать массив и отображать в виде таблицы (работает нормально). Но если он возвращает 0 строку, я буду отображать «Данные не найдены» (не работает)
Вот мой код
<?php
if(count($day)>0){ //Checking row num
echo '<table class="table table-hover">';
$cols = array_keys($day);
echo '<tr>';
foreach ($cols as $col) echo '<th>' . $col . '</th>';
echo '</tr>';
foreach ($day[$cols[0]] as $i => $null) {
echo '<tr>';
foreach ($cols as $col) echo '<td>' . $day[$col][$i] . '</td>';
echo '</tr>';
}
echo '</table>';
}
else { // Display data not found
echo '<div class="row well" style="text-align: center">';
echo '<h4>Data not found</h4>';
echo '</div>';
}
?>
Я что-то пропустил в своем коде или я сделал это правильно? Благодарим Вас за помощь. Спасибо
Я думаю, что ты сделал это хороший способ.
Но, возможно, способ, которым вы заполняете массив, может быть лучше (вы не показали, как вы это сделали).
Для заполнения массива может быть полезно использовать oci_fetch_all (если вы еще не используете). Эта функция возвращает массив со всеми записями одновременно, поэтому вы можете сосчитать массив, возвращенный этой функцией.
Других решений пока нет …