PHP - проверяет, возвращает ли запрос оракула 0 строку или нет

0

Я делаю выбор из базы данных 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>';
 }
?>

Я что-то пропустил в своем коде, или я делаю это правильно? Цените свою помощь. спасибо

  • 0
    попробуйте изменить эту строку if (count ($ day)> 1) на if (count ($ day)> 0) и посмотрите, работает ли она
  • 0
    извините, это должно быть 0 не 1. Вопрос отредактирован
Показать ещё 3 комментария
Теги:
notnull

1 ответ

0

Я думаю, что вы сделали хороший путь.

Но, возможно, способ, которым вы заполняете массив, может быть лучше (вы не показали, как вы это сделали).

Для заполнения массива может быть полезно использовать oci_fetch_all (если вы еще не используете). Эта функция возвращает массив со всеми записями одновременно, поэтому вы можете подсчитать массив, возвращаемый этой функцией.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню