繁体   English   中英

PHP显示MySQL数据库中的数据并分组

[英]php display data from mysql database and group by

菜鸟在这里,对不起,如果我的问题不清楚,但是可以了。

我有一个带有2个表(帐户和人员)的mysql数据库,我想显示“ account_name”,并在下面显示分配给该帐户的人员“名称”的列表。

使用下面的代码,我得到“ account_name”,并且只有第一位职员的“名称”被分配给该帐户。 一些帐户分配了2个或更多的工作人员。

我得到:

目标(account_name)

staff1(“名称”)

沃尔玛(“ account_name”)

staff1(“名称”)


我想要:

目标(“ account_name”)

staff1(“名称”)staff2(“名称”)

沃尔玛(“ account_name”)

staff1(“名称”)staff2(“名称”)staff3(“名称”)


任何帮助都将不胜感激。

亚历克斯

码:

$query = "SELECT staff.name, staff.drive_id, accounts.id, accounts.account_name
FROM staff
JOIN accounts
ON staff.drive_id = accounts.id
WHERE staff.drive_id = accounts.id
AND accounts.drive_date = CURDATE()
GROUP BY accounts.account_name";
$result = mysql_query($query);

while ($staff = mysql_fetch_array($result))
{

echo "<br />";
echo $staff['account_name'];
echo "<br /><br />";
echo $staff['name'];
echo "<br />";
}

分组依据会将所有结果减少为每个分组字段一个结果

$query = "SELECT staff.name, staff.drive_id, accounts.id, accounts.account_name
                        FROM staff
                        JOIN accounts
                        ON staff.drive_id = accounts.id
                        WHERE staff.drive_id = accounts.id
                        AND accounts.drive_date = CURDATE()
                        ORDER BY accounts.account_name";

然后,在您的浏览器中,您可以检查account_name是否已更改为与先前结果相比,并首先回显了帐户详细信息,然后是名称。

$result = mysql_query($query);
$account = '';

while ($staff = mysql_fetch_array($result))
{
if($account == $staff['account_name'])
  {
  echo "<br />";
  echo $staff['account_name'];
  $account = $staff['account_name'];
  }
echo "<br /><br />";
echo $staff['name'];
echo "<br />";
}

您需要操作员来指定如何组合帐户名称,例如:

$query = "SELECT staff.name, staff.drive_id, accounts.id,
                 GROUP_CONCAT(accounts.account_name SEPARATOR ' ')
          FROM staff
          JOIN accounts
          ON staff.drive_id = accounts.id
          WHERE staff.drive_id = accounts.id
          AND accounts.drive_date = CURDATE()
          ORDER BY accounts.account_name"

有关更多详细信息和选项,请参见MySql的按功能分组

暂无
暂无

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

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