我想从我的SQL数据库通过php获取一些数据:
GROUP_CONCAT(DISTINCT cat.name SEPARATOR ",") AS cats
这给了我一个清单:
sam, john, joe
我得到了一些像这样的其他数据:
GROUP_CONCAT(DISTINCT cat.id SEPARATOR ",") AS cat_ids
这里我得到了结果
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 :(得分:5)
我只使用单引号作为字符串,双引号用于属性html。此外,我在GROUP_CONCAT
中使用了一个空格(&#34;&#34;)作为分隔符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;
输出:
<a href="1">sam</a> <a href="2">john</a> <a href="3">joe</a>
答案 1 :(得分:1)
此
GROUP_CONCAT(CONCAT('<a href = "', `cat`.`id`, '">', `cat`.`name`, '</a>') SEPARATOR '') AS `cats`
为我工作