如何以相同的顺序放置两个数组?

时间:2013-06-13 15:23:23

标签: php mysql

我从我的数据库中拉出两个数组。其中一个来自friends表,另一个来自members表。

我要做的是在个人资料上显示朋友的用户名。已经完成了,但现在我正在尝试与拥有该用户名的个人资料的人建立链接(点击userName转到userName的个人资料)。 friends数组($ friendsarr)拥有朋友的所有ID,而用户名数组($ friendunamearr)具有与ID匹配的用户名。但是,它们的顺序不一样。

如果我之前忘记提及,则成员表有一个ID字段。这就是我拉动所有用户名的方式。

例如,假设有user1和user2。 User1的ID是1. User2的ID是2.当我点击User1的个人资料的链接时,它会转到User2的个人资料,反之亦然。

有没有办法让它们按照相同的顺序排列?

2 个答案:

答案 0 :(得分:1)

您可以在将它们放入数组之前加入这两个表。然后数据已经匹配。

http://www.w3schools.com/sql/sql_join.asp

答案 1 :(得分:0)

快速玩法,您可以使用以下内容(未经测试)

<?php

error_reporting(E_ERROR | E_PARSE);

$sql = mysql_query("
SELECT members.username, Sub1.FreindIds
FROM members
INNER JOIN (
    SELECT user_id AS FreindIds FROM friends WHERE friend_id=$usrid
    UNION
    SELECT friend_id AS FreindIds FROM friends WHERE user_id=$usrid
) Sub1
ON members.id = Sub1.FreindIds");

$checksql = mysql_num_rows($sql);

while ($row_comp = mysql_fetch_assoc($sql)) 
{
    echo '<a href="../../member/profile?id=' . $row_comp['FreindIds'] . '">' . $row_comp['username'] . '</a><br />';
}

error_reporting(E_ALL);

?>