在php中连接mysql列值

st3lz

我有一张像这样的桌子:

client_id   |   name   |   bank_name
------------------------------------
    1       |   Steve  |    Bank 1 
    1       |   Steve  |    Bank 1
    1       |   Steve  |    Bank 3

我想打印出如下声明:

Client: Steve

Current bank: Bank 1, Bank 3

这是我当前的代码。(请记住,我正在以模板pdf格式打印此文件,因此请忽略php和div标签,它们是正确的。):

<?php
    $currentBank = '';
    foreach($data as $bank){
        $currentBank .= $bank->bank_name;

?>
            <div>Current bank: {{ $currentBank }} </div>
<?php
    }
?>

谁能帮助我实现所需的格式,而忽略重复项并以“ Bank 1,Bank2”格式打印。

当前与我的代码,我的输出是:

Current bank: Bank1
Current bank: Bank1Bank1
Current bank: Bank1Bank1Bank3

注意:DISTINCT由于模板的另一部分要求我打印出包括重复项在内的所有内容,因此无法在sql查询中使用

楚加迪

您需要花费全部的for循环遍历所有可用数据。将名称收集到一个新的数组中,因为这使我们可以轻松地通过array_unique获得唯一性。另一个选择是将bankNames作为键存储在数组中-请参见第二个示例

<?
    $currentBank = '';
    $bankNameList = [];
    foreach($data as $bank):
        $bankNameList[] = $bank->bank_name;
    }
    $bankNameList = array_unique($bankNameList);
    $currentBank = implode(', ', $bankNameList);

?>
            <div>Current bank: {{ $currentBank }} </div>
<? endfor; ?>

第二个没有array_unique()的例子

<?
    $currentBank = '';
    $bankNameList = [];
    foreach($data as $bank):
        $bankNameList[$bank->bank_name]++;
    }
    $currentBank = implode(', ', array_keys($bankNameList));

?>
            <div>Current bank: {{ $currentBank }} </div>
<? endfor; ?>

最好的方法是使用命名的辅助函数在模板之外组织此数据。这样,您的模板不会增加到成千上万行未记录的行

<?

/**
 * Return all $item->bank_names
 * as comma delimited string
 */
public function concatAllBankNames($data) {

        $bankNameList = [];
        foreach($data as $bank):
            $bankNameList[$bank->bank_name]++;
        }
        return implode(', ', array_keys($bankNameList));
}

//.. in some controller
foreach ($databasedata as $row) {
  $row[ $row['username'] ]['bank_names_concat'] = $this->concatAllBankNames($row['data']);

}
//assign data to template system somehow
$template->rows = $rows;
//or
$template['rows'] = $rows;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

PHP / MYSQL-仅在表中显示左连接项,但在列中连接右连接值

来自分类Dev

计算并添加mysql php中的列值

来自分类Dev

如何在PHP中连接mysql中的两列

来自分类Dev

PHP变量中未返回列中的MySQL值

来自分类Dev

计算MySQL列中的总值并获取PHP中的值

来自分类Dev

使用PHP从MySQL列中删除重复的逗号分隔值

来自分类Dev

PHP:在mysql列中获得最高和最低值?

来自分类Dev

获取列MySQL中的所有值并计算PHP

来自分类Dev

如何使用 PHP 更新 MYSQL PDO 中获取的列的值

来自分类Dev

MYSQL 获取列值并在PHP中显示

来自分类Dev

连接MySQL中重复值的引用

来自分类Dev

如何在单个字段或列中连接多个值?(MySQL)

来自分类Dev

我如何在 MySQL 的组中连接列的唯一值?

来自分类Dev

在 MySQL 中如何使用基于另一个表的列值的名称连接表?

来自分类Dev

PHP将值连接到数组中

来自分类Dev

连接列中不存在的值

来自分类Dev

在Rails中查找自连接列的值

来自分类Dev

在 SQL 中连接两列值

来自分类Dev

在MYSQL SELECT中连接PHP变量

来自分类Dev

MySQL:更改列中的值

来自分类Dev

MySQL:更改列中的值

来自分类Dev

MYSQL 列中的多个值

来自分类Dev

mysql 连接查询中的未知列

来自分类Dev

如何从PHP / MYSQL中的单个表中使用特定值获取包含多个值的多个列

来自分类Dev

根据Postgres中列中的特定模式连接列值

来自分类Dev

如何串联两个列值并存储在另一列中mysql php

来自分类Dev

如何串联两个列值并存储在另一列中mysql php

来自分类Dev

将Pandas DataFrame中的列值与“ NaN”值连接

来自分类Dev

将Pandas DataFrame中的列值与“ NaN”值连接

Related 相关文章

热门标签

归档