如何从数据库中获取数据并使用PHP以正确的方式表示

时间:2018-02-03 18:40:01

标签: php mysqli

我有一个数据库结构:

WORK | NAME | USER_ID
  5  | UL7  |  7
  5  | LL5  |  7
  6  | UR9  |  7
  6  | UL7  |  7

我写了一个从db中获取数据的函数:

function fetchRegion($user_id){
  global $mysqli;
  $stmt = $mysqli->prepare("SELECT name,work from region WHERE user_id =?");
  $stmt->bind_param("s",$id);
  $stmt->execute();
  $stmt->bind_result($work,$name);
  while($stmt->fetch()){
  $row[] = array('work'=>$work,'name'=>$name);
  }
  $stmt->close();
  return $row;
  }

现在我遇到的问题是我想表示应该显示的数据

  

5 => UL7,LL5和6 => UR9,UL7

但是我在数组中得到一个输出。现在可以做些什么来表示以上述格式而不是数组显示的数据。

提前致谢!!

1 个答案:

答案 0 :(得分:1)

您可以在SQL查询中使用GROUP_CONCAT()函数和GROUP BY,如下所示:

SELECT `work`, GROUP_CONCAT(`name`) FROM `region` WHERE `user_id` =? GROUP BY  `name`

然后,获取的结果将是这样的:

work | name
------------
5 | UL7,LL5 
6 | UR9,UL7

希望它有所帮助!