2014-03-30 26 views
0

我使用一個查詢兩個表(曲目和藝術家)搜索:MYSQL工會顯示

SELECT trackID, title 
FROM tracks WHERE title LIKE '%$s%' 
LIMIT 5 
UNION 
SELECT artistID, name 
FROM artists WHERE name LIKE '%$s%' 
LIMIT 5"; 

我用mysql_num_rows($result)顯示此查詢的結果,但我不知道如何展示它正確。 因爲我希望輸出結果不同,當行來自藝術家,但保持相同的順序。

我希望這是明確的,在此先感謝!

+0

你想藝術家的行和列的軌道區別是,你需要得到的行? –

+0

是的,但把它們放在一個大列表 –

+0

看到我的答案是,你正在尋找 –

回答

3

您可以使用另一列識別類似的

SELECT trackID AS id, title AS title, 'track' AS result_type 
FROM tracks WHERE title LIKE '%$s%' 
LIMIT 5 
UNION 
SELECT artistID AS id, name AS title , 'artist' AS result_type 
FROM artists WHERE name LIKE '%$s%' 
LIMIT 5; 

/* $result= fetch results from query*/ 
    foreach($result as $row){ 
    if($row['result_type'] =='track'){ 
    /* your code */ 
    } 
    if($row['result_type'] =='artist'){ 
    /* your code */ 
    } 
    } 
+1

謝謝,這工作! –