如何在MySQL数据库上查询?

时间:2017-10-28 18:44:00

标签: php mysql

我在我的数据库示例中有这个:

tA------tB
lewbr - blabla1
lewbr - blabla2
lewbr - blabla3
blabla1 - lewbr
blabla2 - lewbr
blabla3 - lewbr

我需要在SELECT上做些什么来获取lewbr的所有文字?

示例:List of LewBr: blbla1, blabla2, blabla3

我在PHP的软件游戏中有这个:

public function getAllFriends($oi1) {
            $a = $this->plugin->provider->db->query("SELECT * FROM amigos WHERE tA='$oi1'");
            $b = mysqli_fetch_assoc($a);
            return $b;
    }

EVENT

                    $msg = null;
                    foreach($this->getAllFriends($player) as $friend => $p) {

                        if($friend == 'p2') {
                            $msg .= "$p, ";
                        }
                    } 
                    $sender->sendMessage("HI: $msg");
                    return;

但它只返回列表中的1个玩家..比如

List of LewBr: blabla1,

1 个答案:

答案 0 :(得分:0)

如果您希望列表中同一行的所有值都使用逗号分隔值,则可以使用group_concat

"SELECT group_concat(tb)  as my_amigos
 FROM amigos WHERE tA='$oi1'
 group by tA"

你可以轻松地在没有foreach的情况下看到列表...只需访问my_amigos列,例如:

  $row = mysqli_fetch_assoc($a);
  var_dump($row['my_amigos']);

如果您不想将逗号作为分隔符,则可以使用空格,例如:

"SELECT group_concat(tb SEPARATOR ' ' )  as my_amigos
 FROM amigos WHERE tA='$oi1'
 group by tA"