我正在尝试访问while循环之外的$ Frined_Id。但它只返回最后访问的元素。有没有任何方法,以便我可以将Friend Id的值存储在数组中,然后可以随时在程序中使用它们。
$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;
}
答案 0 :(得分: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]);
通过创建一个包含名称和id的关联数组,可以使它更有用:
$friend[] = Array($Name => $Friend_Id);
只是一些想法......
答案 1 :(得分:0)
如果您只获得一个结果(如果ID是唯一的),请不要使用循环。
$query = "SELECT * FROM 'user_friend' WHERE 'User_Id'= $id LIMIT 1";
$row = mysql_fetch_array($query_run);
...
echo $row['Friend_Id'];
然后您不必担心该值是否仅在循环内可用。