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