首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >显示来自两个不同字段的数据

显示来自两个不同字段的数据
EN

Stack Overflow用户
提问于 2013-01-21 05:38:07
回答 2查看 64关注 0票数 0

我正在我的网站上建立一个朋友系统,我在PHP/MYSQL方面做得很好,但我只是被这个难住了。我正在尝试创建某个用户的朋友列表。MYSQL表' friend‘使用两个字段RelatingUser和RelatedUser,当向RelatedUser发送一个好友请求时,它们会创建一个包含两个用户名的行。

但基本上,我运行的是一个基本查询,目的是从两个字段中获取特定结果,然后按id显示它们。通常我会使用mysql_fetch_assoc,然后回显变量,但是有两个不同的变量,我希望它们按id的顺序排列。

有什么想法吗?

代码语言:javascript
复制
      $users = mysql_real_escape_string($_GET['username']);

      $other_friend_query = mysql_query("SELECT * FROM friend WHERE RelatingUser='$users' || RelatedUser='$users'");

       while( $other_friend_assoc = mysql_fetch_assoc($other_friend_query) ) {
$friend_related = $other_friend_assoc['RelatedUser'];
$friend_relating = $other_friend_assoc['RelatingUser'];  

      }
EN

回答 2

Stack Overflow用户

发布于 2013-01-21 06:06:10

如果要按RelatedUser/RelatingUser中的id以外的id对记录进行排序,唯一的问题是回显正确的字段,应该这样做:

代码语言:javascript
复制
echo $friend_related == $users ? $friend_relating : $friend_related;

否则,如果您希望按RelatedUser或RelatingUser对记录进行排序,则应使用如下查询:

代码语言:javascript
复制
SELECT UserID FROM 
(SELECT RelatingUser AS UserID
 FROM friend
 WHERE RelatedUser = ...
 UNION
 SELECT RelatedUser AS UserID
 FROM friend
 WHERE RelatingUser = ...) AS friends
ORDER BY UserID
票数 1
EN

Stack Overflow用户

发布于 2013-01-21 05:53:24

为什么不使用查询对它们进行排序?

代码语言:javascript
复制
"SELECT * FROM friend WHERE RelatingUser='$users' OR RelatedUser='$users' ORDER BY id ASC"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14429631

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档