2017-03-10 61 views
0

我的理解
$data = mysqli_fetch_all($result, MYSQLI_ASSOC)將使$data關聯數組包含關聯數組?如何迭代通過mysqli_fetch_all()方法

比方說,我有一個包含3列的表稱爲用戶: 「ID」, 「FIRST_NAME」 和 「姓氏」

table users

id--------|----first_name-----|-----last_name-----| 
1---------|----John-----------|-----Smith---------| 
2---------|----Jessica--------|-----Adison--------| 
3---------|----Brad-----------|-----Pitt----------| 

現在我取使用$data = mysqli_fetch_all($result, MYSQLI_ASSOC)

的所有數據

我如何遍歷每一行並顯示id,first_name和last_name?

+0

如果答案解決了你的問題,考慮接受答案。以下是http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work然後返回到此處,並使用勾號/複選標記執行相同操作,直至變爲綠色。這告知社區,找到了解決方案。否則,其他人可能會認爲這個問題仍然存在,並且可能需要發佈(更多)答案。您將獲得積分,其他人將被鼓勵幫助您。 *歡迎來到Stack!* –

回答

1

你可以做一個while循環,讓一行數據在時間mysqli_fetch_assoc

while($data = mysqli_fetch_assoc($result)){ 
    echo $data['id']; 
    echo $data['first_name']; 
    echo $data['last_Name']; 
} 

雖然循環(?見我做什麼有),你可以添加你需要的任何標記或想要添加。

如果你想使用mysqli_fetch_all()這是一個有點不同:

$data = mysqli_fetch_all($result, MYSQLI_ASSOC); 
foreach($data AS $row) { 
    echo $row['id']; 
    echo $row['first_name']; 
    echo $row['last_Name']; 
} 
+0

但是這不會讓我只有第一排嗎?像'$ row = $ result-> fetch_assoc();' –

+0

但'mysqli_fetch_all' __fetches all__。 –

+0

我需要獲取所有數據並將該數據傳遞給另一個具有顯示數據方法的類。 我是否只用while迭代數據?或者我需要嵌套循環來迭代? –

0

mysqli_fetch_all從查詢中獲取的所有記錄。

mysqli_fetch_all的結果是一個數組。你可以用一個簡單的方法迭代它:foreach

$data = mysqli_fetch_all($result, MYSQLI_ASSOC); 
foreach ($data as $item) { 
    print_r($item); // see what your item contains 
}