您好我有2张桌子
|id|musicname|url|image|type
和第二个表
|id|user|songslist|
里面的songsids是一个像这样的数组 1,3,5,6,8等...
我的目标是从table1中选择*并像在数组中一样回显table1,而不是表两个数组,即table1的实际行。
所以基本上要取出包含在songslist中的id的每一行,并将它们全部放入php数组中。
我已经学到了很多关于PHP数组的知识,但是我对mysql不太了解,我对如何做到这一点有任何想法?
修改
$selectmusiclist = mysql_query("SELECT * FROM music");
$songslist = array();
while ($songs = mysql_fetch_assoc($selectmusiclist)){
$songslist[] = $songs;
}
然后表2选择:
$username="user1";
$selectuser = mysql_query("SELECT * FROM usersmusic where user=$username");
$user = mysql_fetch_assoc($selectuser);
$songslist = $user['songslist'];
现在我需要告诉数组$ songslist []只输出id为$ songslist的歌曲
答案 0 :(得分:2)
我认为运行这样的连接会为您提供所需的结果。
SELECT * FROM usersmusic as um
join music as m
on um.songslist = m.id
where user = '$username'
如果$username
不是静态值,请确保将其转义;不希望将来注入SQL。
另请注意,mysql_
驱动程序现已弃用,您应考虑更新为mysqli
或PDO
。