2014-11-27 2 views
0

Я делаю выбор из базы данных oracle в PHP, и я поместил массив результатов в переменную. Вот формат массива в моей переменной $day:PHP - проверить, возвращен ли запрос оракула 0 строка или нет

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>'; 
} 
?> 

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

+0

Попробуйте изменить эту строку if (count ($ day)> 1) до if (count ($ day)> 0) и посмотреть, работает ли она – Satya

+0

извините, что это должно быть 0 нет 1. Вопрос отредактировал –

+0

Какие функции у вас использовать для создания этого массива? 'oci' функции для PHP? или PDO? – Ghost

ответ

0

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

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

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

Смежные вопросы