Использование php для возврата значений GROUP_CONCAT ('column x') - PullRequest
5 голосов
/ 20 июля 2009

Я пытаюсь использовать 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->provision-id тоже не работает.

Ответы [ 2 ]

12 голосов
/ 20 июля 2009

Используйте псевдоним для столбца . GROUP_CONCAT( provision_id ) as pids ... echo $content->pids

4 голосов
/ 20 июля 2009

Если вы выбираете объекты, вы должны дать своим столбцам имена, которые являются допустимыми идентификаторами членов класса в PHP (я сошлюсь на руководство, хотя их описание действительных имен переменных ужасно):

SELECT ... GROUP_CONCAT(provision_id) AS provisions
...