1

DBから出てくる値をコンマで区切りたい。SQLでそれを行う方法が見つかりません。また、whileループでこれを実行しようとすると、文字列の末尾にコンマが配置されますが、これは望ましくありません。

  private function retrieve_subjects(){
    $dbh = $this->connect();
    $stmt = $dbh->prepare("SELECT name FROM subject");
    $stmt->execute();
    $stmt->bindColumn('name', $name);
    while($stmt->fetch(PDO::FETCH_BOUND)){
        $sub .= $name;
    }
    return $sub;
}
4

3 に答える 3

2

を使用してみてくださいimplode

PHP: http: //php.net/manual/en/function.implode.php

MySQL(GROUP_CONCAT):http ://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html#function_group-concat

于 2012-12-18T20:36:44.593 に答える
1

これを試してみてください:

$sub = '';    
while($stmt->fetch(PDO::FETCH_BOUND)){
    if($sub == '')
        $sub = $name;
    else
        $sub .= ',' . $name;
}
于 2012-12-18T20:36:16.797 に答える
1

区切り文字を使用する

$delim = "";
while($stmt->fetch(PDO::FETCH_BOUND)){
    $sub .= $delim;
    $sub .= $name;
    $delim = ", ";
}
于 2012-12-18T20:37:24.467 に答える