我在PHP中从oracle数据库中选择,并将结果数组放入变量。
以下是变量$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>';
}
?>
我错过了代码中的某些内容,还是以正确的方式进行了修改?感谢您的帮助。谢谢
答案 0 :(得分:0)
我认为你做的方式是一个好方法。
但也许你填充阵列的方式可能会更好(你没有表明你是如何做到的)。
要填充数组,最好使用 oci_fetch_all (如果您尚未使用)。该函数同时返回一个包含所有记录的数组,因此您可以计算该函数返回的数组。