繁体   English   中英

如何从两个相关表中收集数据

[英]How to collect data from two related tables

我正在尝试从 2 个不同的表中获取数据: userscomments 我想根据commentsenderid返回评论数据和用户数据。

<?php
$commentpostid = $_POST['commentpostid'];
$sql = "SELECT * FROM comments where commentpostid = '{$commentpostid}'";
$sqll = mysqli_query($db, $sql); // $db->query() is also accepted.
$result = mysqli_fetch_all($sqll, MYSQLI_ASSOC);
echo json_encode($result);

结果:

[
  {
    "commentid": "93",
    "comment": "naber kankam Benin",
    "commentpostid": "1006",
    "commentsenderid": "12"
  },
  {
    "commentid": "95",
    "comment": "kankam selam!",
    "commentpostid": "1006",
    "commentsenderid": "3135"
  }
]

应该:

[
  {
    "commentid": "93",
    "comment": "naber kankam Benin",
    "commentpostid": "1006",
    "commentsenderid": "12",
    "username": "denemeuser",
    "userbolum": "denemebolum",
    "useryas": "useryasdeneme"
  },
  {
    "commentid": "95",
    "comment": "kankam selam!",
    "commentpostid": "1006",
    "commentsenderid": "3135",
    "username": "denemeuser",
    "userbolum": "denemebolum",
    "useryas": "useryasdeneme"
  }
]

[phpMyAdmin 结构 ] [JSON结构 ]

您 select 所有评论,将他们与 id 与评论作者的 id 匹配的用户加入,您 select 只有那些帖子与您正在寻找的值匹配的用户。

SELECT c.*, u.username, u.userbolum, u.useryas
FROM comments c
         JOIN users u ON c.commentsenderid = u.userid
WHERE commentpostid = ?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM