1

私は2つのMysqlテーブルを持っています

参加者

id   |   name   | lastname |
----------------------------
1    |    Jon   |   Bush   |
2    |  Stephen |   Eagle  |

投稿

id    |  parentid |  Title  |   text
--------------------------------------
1     |    1      |  Title1 |  Text1
2     |   1       | title3  |  text2
3     |      1    | title4  | text4
4     |      2    |   title |   ttext

そして、私はテーブルを出る必要があります

id (1) | Jon   | <a href='index.php?id='1'>Title1</a>, <a href='index.php?id='2'>title3</a>, <a href='index.php?id='3'>title4</a>
id (2) | Stephen | <a href='index.php?id='4'>title<a/>

したがって、ID を含むハイパーリンクでタイトルを取得する必要があります。

私が使う

SELECT  a.ID, a.Name,
        GROUP_CONCAT(b.Title) TitleList
FROM    participants a
        INNER JOIN posts b
            ON a.ID = b.parentID
GROUP   BY  a.ID, a.Name

しかし、この場合、ID行なしでタイトル行だけを取得できます...

よろしく

4

3 に答える 3

2
GROUP_CONCAT(b.Title) TitleList

代わりに次のようにする必要があります。

GROUP_CONCAT( CONCAT("<a href='index.php?id=", b.id, "'", b.Title, "</a>") ) TitleList

それがあなたに与えることに注意してください

<a href='index.php?id=1'>Title1</a>

これはハイパーリンクの正しい方法です。

于 2013-04-06T11:55:12.350 に答える
0
select 
  a.id, 
  a.name,  
  group_concat(b.id) ids, 
  group_concat(b.title) titles,
  group_concat(concat("<a href='index.php?id=", b.id, "'>", b.title, "</a>")) titlelist
from participants a
inner join
  posts b on b.parentid = a.id
group by a.id,a.name

SQLフィドル

リンクを PHP コードに割り当てることをお勧めします。

于 2013-04-06T12:18:11.240 に答える
-1

これでいけそう

SELECT a.ID, a.Name, GROUP_CONCAT(concat(b.Title,'-',b.id)) TitleList FROM participants a INNER JOIN posts b ON a.ID = b.parentID GROUP BY a.ID, a.Name

于 2013-04-06T12:03:52.403 に答える