枚举GROUP_CONCAT结果

时间:2015-05-27 14:39:07

标签: php mysql

我从MySQL数据库中抓取一些电子邮件:

...GROUP_CONCAT(USERS.emails SEPARATOR '\n') as group_mail...

并将它们放入一个PHP变量字符串:

...
$result=$db->query($query);
$row = $result->fetch_assoc();
$data=$row["group_mail"]; 

通过在textarea中传输$ data内容,我得到以下设计:

 abc@gmail.com
 bcd@gmail.com
 cde@gmail.com

但是,我想要以下内容:

   1.  abc@gmail.com
   2.  bcd@gmail.com
   3.  cde@gmail.com

考虑已知的电子邮件数量。是否可以更改$ data以获得第二次出现以及如何?

谢谢

1 个答案:

答案 0 :(得分:0)

首先,我们必须按如下方式更改SQL:

 ...GROUP_CONCAT(USERS.emails) as group_mail... 

然后,我们必须添加下面的PHP代码:

             $data=$row["group_mail"];
             $interdata = strtok($data, ",");
             $i=1;   
             while ($interdata !== false)
             {
               $finaldata.=$i.". ".$interdata."\n"; 
               $interdata = strtok(",");
               $i++;
             }

结果是理想的结果:

   1.  abc@gmail.com
   2.  bcd@gmail.com
   3.  cde@gmail.com