我使用以下内容显示列出五十个州的官方符号的表格:
echo <<<EOD
<tr>
<td><a href="/world/$PlaceL" title="$Place">$Place</a></td>
<td>$Symbol</td>
</tr>
EOD;
然而,我需要修改它以显示州歌,因为有些州有几首官方歌曲。所以在我的while循环中,我改变了这个......
$Symbol = $row['Symbol'];
到此......
$Song[] = $row['Symbol'];
但是,我不知道接下来该做什么。这不起作用......
echo <<<EOD
<tr>
<td><a href="/world/$PlaceL" title="$Place">$Place</a></td>
<td>echo join( $Song, '' );</td>
</tr>
EOD;
这样更好......
$Song[] = '<td>'.$Symbol.'</td>';
echo <<<EOD
<tr>
<td><a href="/world/$PlaceL" title="$Place">$Place</a></td>
echo join( $Song, '' );
</tr>
EOD;
但它会在一行中显示所有歌曲(以及其他问题)。我想显示多行,如下所示:
田纳西州|我的田纳西州|官方歌曲
田纳西州| Rocky Top |官方民歌
有谁能告诉我如何修改我的代码以正确显示行? THX。
编辑:
这是我的查询...
SELECT GS.N, GS.IDArea SymArea, GS.URL, GS.IDSymbol,
GS.Symbol, GS.Latin, GS.DesigGen, GS.Date, GG.N, GG.IDArea, GG.URL GURL, GG.Name GName, GG.Type, GG.IDParent, GG.IDParent2, GG.Parent, GG.ParentName, GG.Parent2, GG.IDReg
FROM gs AS GS
LEFT JOIN gw_geog AS GG ON GG.IDArea = GS.IDArea
WHERE GS.DesigGen = 'song' AND GG.IDParent = 'usa'
GROUP BY GS.IDSymbol ORDER BY GS.N
以下是主数据库表中的几行,GS ...
GS.N | IDArea | IDSymbol | URL | Symbol | DesigGen | Date
4431 | us-tn | us-tn-Songs | tennessee/songs | The Pride of Tennessee | song | 1996
4432 | us-tn | us-tn-Song2 | tennessee/songs | My Tennessee | song | 1996
表格gw_geog只包含有关地理位置的数据(例如50个州)。例如,GG.URL =南达科他州,GG.Name =南达科他州,GG.Parent =美国。