2012-02-23 168 views
0

我試圖訪問while循環之外的$ Frined_Id。但它只返回最後訪問的元素。有沒有什麼方法可以將Friend ID的值存儲在數組中,然後可以在程序中隨時使用它們。如何訪問while循環之外的mysql_fetch_array函數輸出...?

$query="SELECT * FROM `user_friend` WHERE `User_Id`='$id'"; 
if($query_run=mysql_query($query)) 
    { 
    $mysql_num_rows=mysql_num_rows($query_run); 
    $i=$mysql_num_rows; 
    while($row=mysql_fetch_array($query_run)) 
     { 
      $Friend_Id=$row['Friend_Id']; 
      $Name=$row['Friend_Name']; 
      $Name_array=array("$Name"); 
      echo "<a href=\"view_profile.php?id=$Friend_Id\"/>".$Name."</a>".'<br>'; 

     } 
     echo $Friend_Id; 
} 

回答

1

它之所以只顯示最後一個是因爲它可以讓在每次循環改變,它被設置到的最後一件事是它是什麼。一種能夠訪問所有的人都在做$修復Friend_Id數組作爲這樣的:

$Friend_Id[] = $row['Friend_Id']; 

然後你的循環後,可以通過指數

// Show the first one 
echo("Friend ID is " . $Friend_Id[0]); 

// Show the third one 
echo("Friend ID is " . $Friend_Id[2]); 

訪問它們時,可以使其更加通過使含有姓名和身份證像一個關聯數組有用:

$friend[] = Array($Name => $Friend_Id); 

只是一些想法...

+1

好的......謝謝.. – 2012-02-23 17:07:17

0

如果你只得到一個結果(如果ID是唯一的),根本不要使用循環。

$query = "SELECT * FROM 'user_friend' WHERE 'User_Id'= $id LIMIT 1"; 
$row = mysql_fetch_array($query_run); 
... 
echo $row['Friend_Id']; 

那麼你不必擔心,如果該值只在循環裏使用。