Я делаю выбор из базы данных 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 строк, я покажу 'Data not found' (не работает)
Вот мой код
<?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 (если вы еще не используете). Эта функция возвращает массив со всеми записями одновременно, поэтому вы можете подсчитать массив, возвращаемый этой функцией.