使用 php 返回 GROUP_CONCAT('column x') 值

Posted

技术标签:

【中文标题】使用 php 返回 GROUP_CONCAT(\'column x\') 值【英文标题】:Using php to return GROUP_CONCAT('column x') values使用 php 返回 GROUP_CONCAT('column x') 值 【发布时间】:2010-11-12 08:40:26 【问题描述】:

我正在尝试使用 php 将 SQL 值返回到 html 表中。除了最后一列"GROUP _ CONCAT (provision_id)."

之外,我能够毫无问题地填充每一列

相关代码:

<?php

global $wpdb;
$wpdb->show_errors();
$contents = $wpdb->get_results( $wpdb->prepare("SELECT salaries.id, name, remaining, contract_value, GROUP_CONCAT( provision_id ) FROM salaries LEFT JOIN contracts ON contracts.id = salaries.id GROUP BY salaries.id"));

 ?>

   [table header stuff...]

<?php 

    foreach ($contents as $content) 
        ?>   
             <tr>
                    <td><?php echo $content->name ?></td>
                    <td><?php echo $content->remaining ?></td>
                    <td><?php echo $content->contract_value ?></td>
                    <td><?php echo $content->GROUP_CONCAT(provision_id) ?></td>

    <?php ; ?>   

            </tr>

只是回显$content-&gt;provision-id 也不起作用。

【问题讨论】:

【参考方案1】:

使用alias for the column。

GROUP_CONCAT( provision_id ) as pids
...
echo $content->pids

【讨论】:

【参考方案2】:

如果您要获取对象,您应该在 PHP 中为您的列提供合法的类成员标识符(我将链接到手册,尽管它们的 description of valid variable names 很糟糕):

SELECT ... GROUP_CONCAT(provision_id) AS provisions

【讨论】:

以上是关于使用 php 返回 GROUP_CONCAT('column x') 值的主要内容,如果未能解决你的问题,请参考以下文章

具有 3 列的 MYsql GROUP_CONCAT 在 PHP 中执行

如何在MySQL中连接两个字符串

MySQL 的 GROUP_CONCAT 函数详解

MySQL - GROUP_CONCAT 返回重复数据,不能使用 DISTINCT

MySQL GROUP_CONCAT 返回重复值。无法使用 DISTINCT

SQLite group_concat 返回相同数据的多个实例,不能使用 DISTINCT