ODBC while和foreach循环输出2导致php

时间:2015-12-15 06:26:47

标签: php arrays foreach while-loop odbc

我在数据库中选择了前5行,并使用ODBC作为连接而不是MSSQL连接的自然方式。每次刷新while和foreach循环所包含的页面时,它都会提供2个输出而不是1个输出。你能和我一起帮助吗

这是我的整个代码

<?php
            $que = "SELECT top 5 notification FROM notification order by datetime desc";
            $queresa = odbc_exec($conn,$que);
            $rows = array();

            while($myRow = odbc_fetch_array( $queresa )){ 
                 $rows[] = $myRow;
                   foreach($rows as $row) {
                      foreach($row as $key => $value) {
                           $result = $value;
                           echo "<a href='#' class='list-group-item'>
                                   <i class='fa fa-envelope fa-fw'></i><font color='green'>$result</font>
                                </a>";
                      }
                   }
            }
?>

1 个答案:

答案 0 :(得分:1)

  

你在迭代时迭代数组的次数,所以它是   发生两次为你。在while loop之后迭代完整数组   (完全取数据)。

请考虑以下代码段:

<?php
$que = "SELECT top 5 notification FROM notification order by datetime desc";
$queresa = odbc_exec($conn,$que);
$rows = array();

while($myRow = odbc_fetch_array( $queresa )){ 
    $rows[] = $myRow;//pushing into $rows array
}

//Now iterating complete array
foreach($rows as $row) {
        foreach($row as $key => $value) {
            $result = $value;
            echo "<a href='#' class='list-group-item'>
                                   <i class='fa fa-envelope fa-fw'></i><font color='green'>$result</font>
                                </a>";
        }
    }
?>