三个表连接兰特()

时间:2014-07-17 12:07:45

标签: php sql database random

我正在尝试连接一个选择随机数来显示表'轨道','专辑'

中的信息
select tracks, albums, artists, track.title, artist.name, album.title
From albums, tracks , artists
where albums.artistID = tracks.artistID;
and albums.artistID = artists.ID;

我不确定为什么它不起作用我想了解原因,任何帮助都会受到赞赏

以下是随机编码,我不确定如何将其与5首生成的歌曲连接,以及显示的信息。

$query = "INSERT INTO songsoftheweek
            SELECT * FROM tracks
            ORDER BY RAND() 
            LIMIT 5"; 
$dbResult=mysql_query($query,$db);

2 个答案:

答案 0 :(得分:0)

对于初学者来说,这是一个问题:select tracks, albums, artistsselect语句用于标识您要选择的from语句用于标识表格...

这里可能还有其他事情......例如,我没有看到任何看起来像是在引入随机性的东西。应该在哪里发生?但至少这应该有助于解决一个问题。

答案 1 :(得分:0)

为每个曲目指定一个ID字段。创建一个查询,选择相册中的所有字段,make对行进行计数..然后将rand()函数放在后面,例如:

$con = mysqli_connect("HOST","USERNAME","PASSWORD","DATABASE");
$query = mysqli_query($con, "SELECT * FROM DATABASE;");
$count = mysqli_num_rows($query);
$random = rand(1,$count);
$trackquery = mysqli_query($con,"SELECT * FROM DATABASE WHERE ID = $random;");
while($row = mysqli_fetch_array($trackquery))
{
 // do stuff
}