0

我有一个mysql查询

$raw_resultsplaylists = mysql_query("SELECT songs.*, playlists.title as `playlist_title`
                                 FROM song_main AS songs
                                 JOIN songs_in_list AS playlist_songs 
                                  ON songs.ID = playlist_songs.song_id
                                 JOIN playlists 
                                 ON playlist_songs.playlist_id = playlists.ID
                                WHERE playlists.owner_id = '$userid'") or die(mysql_error());

检索如下信息数组:

  playlist_title      song_name              song_url        song_artist
     -------------------------------------------------------------------        
     foo1               woops                 www.                -
     foo1               blah                  www.                -
     foo2               blop                  www.                -
     foo1               woop                  www.                -
     foo3               bob                   www.                -      
     foo1               dylan                 www.                -

我的问题是如何对 Mysql 数组进行切片以playlist_title在单独的数组中获取所有相同的行,以便我可以将它们显示在单独的 html 表中,例如:

html表1:

 playlist_title      song_name              song_url        song_artist
    -------------------------------------------------------------------        
     foo1               woops                 www.                -
     foo1               blah                  www.                -
     foo1               woop                  www.                -    
     foo1               dylan                 www.                -

html表2

    playlist_title      song_name           song_url        song_artist
     -------------------------------------------------------------------        
     foo2               blop                  www.                -
     foo2               dylan                 www.                -

ETC...

4

3 回答 3

0

SQL 中没有“数组”。都是行和列。你想要的是,也许:

SELECT * FROM table_name WHERE pname='foo1'

也许:

SELECT * FROM table_name ORDER BY pname

您可以在应用程序中进行拆分的位置。

于 2013-11-15T04:08:36.220 回答
0

只是为了画个主意..

do{

  $groupedItems[$row['pname']][] = $row; //every row with the same pname will be "grouped" in the same array level

}while..

进而...

foreach($groupedItems as $group){
  //bla bla
}
于 2013-11-15T04:12:58.897 回答
0

对于 html 表 1:

mysql_query("SELECT songs.*, playlists.title as `playlist_title`
                             FROM song_main AS songs
                             JOIN songs_in_list AS playlist_songs 
                             ON songs.ID = playlist_songs.song_id
                             JOIN playlists 
                             ON playlist_songs.playlist_id = playlists.ID
                             WHERE playlists.owner_id = '$userid'
                             AND playlist_title='foo1'") or die(mysql_error()); 
于 2013-11-15T04:30:06.603 回答