2014-02-10 23 views
0

我有三個表,電影,藝術家和role_table。 role_table僅包含來自電影的movieCode和來自藝術家的藝術家ID,其是電影和藝術家表的主鍵。我用連接來獲取值和Group_concat。這裏是我的sql代碼php,sql個人鏈接Group_concat

SELECT m.Title, m.MovieDesc, m.image, m.catagory, a.ID, a.FullName, 
GROUP_CONCAT(a.FullName) 
FROM movies m 
JOIN role_table r ON m.movieCode =r.movieCode_FK 
JOIN artist a ON r.artistID_FK = a.ID 
where 
movieCode = '$movieCode 

此代碼是完美的罰款,它的工作原理。我想要的是獲取那些從group_concat獲取值的藝術家的單獨鏈接。 我被困在這裏,任何形式的幫助都會很棒。 謝謝:)

+0

你說的個別環節是什麼意思? – Mihai

+0

例如,如果我有3名與LOTR電影有關的藝術家,比如說湯姆,將會和本尼迪克特。這個group_concat會給出一個像這樣的輸出,LOTR和這些藝術家在同一行或者一行Tom,將會是Benedict。我想要的是;分別爲每個名稱的url或者如果我直接說,我想要他們自己的輸出鏈接,例如像這樣的 user3280151

+0

最好在你的應用程序中完成。雖然您可以在使用CONCAT構建的鏈接上使用GROUP_CONCAT,但這在大多數情況下都會起作用,問題將出現在名稱包含會破壞鏈接的html字符時。 – Kickstart

回答

0

在PHP做它(assiming你使用一個數據庫類): -

<?php 

$sql = "SELECT m.Title, m.MovieDesc, m.image, m.catagory, a.ID, a.FullName, 
     GROUP_CONCAT(a.FullName) AS ConcatFullName 
     FROM movies m 
     JOIN role_table r ON m.movieCode =r.movieCode_FK 
     JOIN artist a ON r.artistID_FK = a.ID 
     where movieCode = '$movieCode'"; 

$db->query($sql) or die($db->error()); 

while($row = $db->fetch_assoc()) 
{ 
    $fullnames = explode(',', $row['ConcatFullName']); 
    foreach($fullnames AS $aFullName) 
    { 
     echo "<a href='SomeLink.php?".urlencode($aFullName).">".htmlspecialchars($aFullName)."</a>"; 
    } 
} 

?> 
+0

謝謝,它工作:) – user3280151