【问题标题】:Merge 2 different tables without repeating values PHP合并2个不同的表而不重复值PHP
【发布时间】:2017-06-02 21:11:27
【问题描述】:

我有 2 张桌子;第一个是user_in_event table

这里的角色可以是regular, waiting for ack or moderator

第二个是user table

这里的角色可以是regular or admin

我想从 user_in_event 表中获取角色,基于 event_id 并输出所有用户信息(除了用户角色)并以单个 JSON 输出

我已经尝试使用LEFT JOIN

$query = "SELECT user_in_event.role, user_in_event.user_id, user.name, user.email, user.birthday, user.phone_number, user.address, user.image
                    FROM user LEFT JOIN user_in_event 
                    ON user_in_event.event_id = '".$event_id."' 
                    LIMIT $num_of_rows";


        $result = mysqli_query($con,$query)
         or die(mysqli_error($con));

        // print_r($query);

        while ($row = mysqli_fetch_assoc($result)) { 
            $response[] = $row; 
        }




    header('Content-Type:Application/json');
    echo json_encode($response);

但我搞砸了数据

[
  {
    "role": "moderator",
    "user_id": "2",
    "name": "ofir",
    "email": "ofir@ofr.com",
    "birthday": "08/12/2016",
    "phone_number": "123",
    "address": "yoqneam",
    "image": "http://imgur.com/a/KslOW"
  },
  {
    "role": "waiting for ack",
    "user_id": "21",
    "name": "ofir",
    "email": "ofir@ofr.com",
    "birthday": "08/12/2016",
    "phone_number": "123",
    "address": "yoqneam",
    "image": "http://imgur.com/a/KslOW"
  }
]

PS:我还尝试进行 2 个不同的查询并将 JSON 和用户 array_merge_recursive 组合起来,但我得到了 2 个 subs 数组而不是一个

【问题讨论】:

  • 这里出了什么问题?
  • @jyotimishra 我得到了 user_id 之后的一切都是一样的
  • 能否请您向您展示带有一些虚拟数据的表结构,以便为您创建查询。
  • @jyotimishra 有指向表格的链接
  • @jyotimishra 还有,用户表中没有 event_id

标签: php mysql arrays json


【解决方案1】:

请尝试:

SELECT user_in_event.role, user_in_event.user_id, user.name, user.email
FROM user
LEFT JOIN user_in_event ON user_in_event.user_id = user.user_id
WHERE user_in_event.event_id =25
LIMIT 0 , 30

这里的 event_id 是静态的。将此查询运行到您的数据库并告诉我。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-30
    • 1970-01-01
    • 1970-01-01
    • 2015-07-11
    • 1970-01-01
    • 1970-01-01
    • 2015-09-19
    • 2021-11-15
    相关资源
    最近更新 更多