2017-06-08 14 views
-3

即時通訊操縱數據庫的領域,所以我有一個問題。 因此,查詢數據,選擇喜歡的東西從錶行的所有值後:從數據庫表中獲取選定的值?

while($row = $result->fetch_assoc()) { } 

例如,如果表中有名字,我們會得到:

John 
Bob 
Steve 
Mark 

如果我們把這些結果一個鏈接或按鈕的形式,有沒有什麼辦法來獲得他們的價值?

我想是這樣:

if (isset($_POST['result_button'])) { 
$value =$row['name']; 
} 

我嘗試這樣做,當我把所有從查詢結果中按鈕的形式,但只有拉從錶行的最後一個值。

我試圖把結果存入數組一樣:

$result= array(); 
$result[]=$row['name']; 

echo $result[2]; 

我不完全瞭解陣列工程,以便有可能做錯事有但從我想這隻能如果我把echo $結果[ 0];

+0

你已經充分奠定了這個問題,但是你忽略了最重要的一點,查詢。請包括您的代碼的整個塊,包括查詢,我們可以運行和執行我們自己。如果您在使用陣列時遇到問題,這將幫助我們確定可能會遇到的其他問題。你在問什麼似乎微不足道,我們想幫忙;) –

回答

0

好吧,首先:

$row = $result->fetch_assoc()

這不工作,你是如何期待它。這基本上是說,對於每個返回值(來自MySQL查詢),存儲在$row這個while循環的迭代中。

因此,在你的例子中,$row將首先是約翰,然後是鮑勃,然後是史蒂夫,最後是馬克。它們並不全部同時存儲在變量中。 Bob會覆蓋John等。

我打算跳過你的第二位代碼,因爲很明顯你不瞭解arrays

陣列

有大量的材料有關在網絡上的陣列。我不知道爲什麼你不得不但是在這裏發表的問題,...

定義數組:

$my_array = array(); 

與值的數組:

$my_array = array(
    "bar", 
    "foo" 
); 

分配變量的數組:

$my_array = array(); 
$my_array[0] = "Help" // $my_array[0] now contains "Help" 
$my_array[1] = "Me"; // $my_array[0] now contains "Me" 

因此,考慮你是最後一個例子:

$result= array(); 
$result[]=$row['name']; 

echo $result[2]; 

您沒有在數組的第二個元素中存儲任何內容。

這將是更爲合適:

$result= array(); 
$result[0] = $row['name']; 

echo $result[0]; // This would print what was stored in $row['name'] 
+1

非常感謝你解釋!這很棒! – Alexander