我有三个表,第一个存储歌曲数据,第二个存储带有播放列表名称和所有者 ID 的播放列表,第三个将歌曲 ID 链接到它们所属的播放列表。
问题是如何在限制对服务器的请求数量的同时检索用户的播放列表及其包含的歌曲,有没有办法在单个查询中检索这些信息?
到目前为止,我拥有的 PHP 代码在我的帖子末尾。
任何帮助或建议都会很棒,我真的为此疯狂:)
谢谢
表格1song_main
ID song_artist song_album song_url
1 woops foo1 www.
2 bob foo2 www.
表 2playlists
ID title owner_id
1 myplaylist 20
1 myplaylist1 23
表3song_in_list
ID song_id playlist_id
1 1 20
1 1 23
这是我的 php 代码,我基本上是想先获取播放列表 ID 和名称,然后运行第二个查询以获取每个播放列表包含的歌曲 ID,然后运行第三个查询以获取每首歌曲信息。我只是不知道我所做的是否正确......
//Getting user's playlists
$raw_resultsplaylists = mysql_query("SELECT * FROM playlists
WHERE (`owner_id` = '$userid')" ) or die(mysql_error());
//fetch the query and adding them to vars
$counter = 1;
while($resultsplaylists = mysql_fetch_array($raw_resultsplaylists))
{
${"playlistname" . $counter} = $resultsplaylists['id'];
${"playlistid" . $counter} = $resultsplaylists['playlistid'];
$counter= $counter+1;
}