2012-02-23 10 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

最後に表示されるのは、ループ内で毎回変更され、最後に設定されたものが何であるかということです。次に、あなたのループの後、あなたはそれをさらに行うことができますインデックス

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

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

でそれらにアクセスすることができ

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

:それらのすべてにアクセスできることの修正は$のような配列をFriend_Id作るれます名前やIDなどの連想配列にすることにより便利:

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

ただ、いくつかのアイデアを...

+1

大丈夫...ありがとう.. –

0

1つの結果しか得られない場合(IDが一意である場合)、ループをまったく使用しないでください。

次に、値がループ内でのみ使用できるかどうかを心配する必要はありません。

関連する問題