如何将行保存到数组并使用ODBC在PHP中打印?

时间:2010-04-01 20:18:25

标签: php odbc

我有以下内容:

while($myRow = odbc_fetch_array( $result )){ <--lots of rows
    $thisResult['name'] = $myRow["name"] ;
    $thisResult['race'] = $myRow["race"] ;
    $thisResult['sex'] = $myRow["sex"];
    $thisResult['dob'] = $myRow["dob"];
}

我无法弄清楚如何将其打印出来。

我想获取每一行并像数据引导器一样遍历数组中的每一行。我不知道该怎么做。我不想在此时做回声。我需要能够在其他地方打印出来。但是我不认为我已经在这里做了以后能够打印它。

我也尝试过,但是:

while($myRow = odbc_fetch_array( $result )){ <--lots of rows
     print($thisResult[$myRow["name"]] = $myRow);
}

然后我尝试了:

while($myRow = odbc_fetch_array( $result )){ <--lots of rows
    print (odbc_result($myRow,"name"));
}

但收到了错误。

感谢您的帮助。

编辑:当我这样做时:

while($myRow = odbc_fetch_array( $result )){
    print ($myRow["name"]);
}

我得到未定义的索引名称。我主要关心的是保存到一个数组,但我必须先在循环中完成它。

2 个答案:

答案 0 :(得分:8)

之前声明一个数组并为其赋值:

$rows = array();

while($myRow = odbc_fetch_array( $result )){ <--lots of rows
    $rows[] = $myRow;
}

然后你可以打印它,例如这样:

foreach($rows as $row) {
   foreach($row as $key => $value) {
       echo $key . ': '. $value;
   }
}

或者你想要。

您不必在$thisResult['name'] = $myRow["name"]循环中访问和分配while,因为$myRow已经是一个数组。您只需复制不必要的值。


你说你有很多行。根据您真正想要处理的数据,最好将所有这些功能放入while循环中以避免创建数组。

答案 1 :(得分:0)

如下:

$output = '';
while($myRow = odbc_fetch_array( $result )) {
    $output = $output."Your name is {$myRow["name"]} and your race is {$myRow["race"]}\n";
}

// print output later...