2017-09-26 5 views
1

私は私のSQLデータベースからPHP経由でいくつかのデータを取得したい:GROUP_CONCATを複数の値で使用するにはどうすればよいですか?

GROUP_CONCAT(DISTINCT cat.name SEPARATOR ",") AS cats 

これは私のリストを与える:

GROUP_CONCAT(DISTINCT cat.id SEPARATOR ",") AS cat_ids 

sam, john, joe 

は、私はこのようないくつかの他のデータを取得しますここで私は結果を得る

1,2,3 

ここに私の問題があります。

<a href="1">sam</a><a href="2">john</a><a href="3">joe</a> 

私のアプローチ:

GROUP_CONCAT(CONCAT("<a href=\'",cat.id,"\'>",cat.name,"</a>")) AS cats 

しかし、ここで私は、結果として空白のページを取得し、私はこのような結果を得るために、これらの値を結合したいです。

+0

が働いています、空白のページが別の理由で発生した – Jarla

答えて

5

私はちょうど文字列のための単一引用符と属性htmlの二重引用符を使用しました。さらに私は、GROUP_CONCATにセパレータとしてスペース(」「)を使用

出力
CREATE TABLE GC1 (name VARCHAR(20), id INT); 

    INSERT INTO GC1 VALUES ('sam',1); 
    INSERT INTO GC1 VALUES ('john',2); 
    INSERT INTO GC1 VALUES ('joe',3); 
    SELECT * FROM GC1; 
    SELECT GROUP_CONCAT(CONCAT('<a href="',id,'">',name,'</a>') SEPARATOR " ") AS X FROM GC1; 

:この

GROUP_CONCAT(CONCAT('<a href = "', `cat`.`id`, '">', `cat`.`name`, '</a>') SEPARATOR '') AS `cats` 

が私のために働いた

<a href="1">sam</a> <a href="2">john</a> <a href="3">joe</a> 
1

私が見つけた

関連する問題