ODBC while和foreach循环在php中输出2个结果


ODBC while and foreach loop outputs 2 results in php

我选择了数据库中的前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>";
                      }
                   }
            }
?>

在迭代的同时,您要对数组进行多次迭代,因此它为你发生两次。在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>";
        }
    }
?>