2010-04-01 34 views
3

我有以下幾點:如何將行保存到數組中並使用ODBC打印出PHP?

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"]); 
} 

我得到了一個未定義的索引名稱。我主要關心的是保存到一個數組,但我必須先能夠在循環中完成。

+0

'print_r($ myRow)'給了你什麼?你只需要弄清楚數組中真正的值。 – 2010-04-01 20:31:55

+0

其他答案發生了什麼?那是對的!謝謝你,無論你去哪裏。 – johnny 2010-04-01 20:35:21

+0

如果你這麼說,我再次刪除它;)我很困惑,'$ myRow [「name」]'給你一個索引錯誤,這就是爲什麼我刪除了我的答案,因爲我不認爲它會工作。 – 2010-04-01 20:43:19

回答

7

聲明之前的數組,並分配值給它:

$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; 
    } 
} 

或者你想。

您不必在您的while循環中訪問並指定$thisResult['name'] = $myRow["name"]作爲$myRow已經是一個數組。您只需複製不必要的值。


你說你有很多行。根據你真正想要用數據做什麼,將所有這些功能放到while循環中可能會更好,以避免創建數組。

+0

我想你的意思是$ rows [] = $ myRow; – webbiedave 2010-04-01 20:29:13

+0

@webbiedave:是的,修好了,謝謝:) – 2010-04-01 20:43:43

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... 
相關問題