随机随机播放MYSQL结果

use*_*772 6 php mysql

以下代码显示随机数据库图像以及一个特定图像(这是我想要的).如何在数据库查询后将这些结果随机播放,因为图像ID 11始终首先显示?我想在其他人之间随机显示图像ID 11.

我可以使用SHUFFLE().如果是这样的话我到底该把它放在哪里呢?

任何帮助将不胜感激仍然学习PHP

谢谢.

<?php 

mysql_connect("", "", "") or die(mysql_error()) ; 
mysql_select_db("images") or die(mysql_error()) ;


$photo=mysql_query("SELECT * FROM `profile_images` ORDER BY (ID = 11) DESC, RAND()      
LIMIT 7");


while($get_photo=mysql_fetch_array($photo)){ ?>

<div style="width:300px;">


<img src="<? echo $get_photo['url']; ?>">


</div>

<? } ?>
Run Code Online (Sandbox Code Playgroud)

gin*_*tas 11

在将它们检索到php后,您可以将它们随机播放.

$photos = array();
while ($get_photo = mysql_fetch_array($photo))
    $photos[] = $get_photo;

shuffle($photos);
Run Code Online (Sandbox Code Playgroud)

或者您可以使用子查询来执行此操作:

SELECT A.* FROM (
    SELECT * FROM `profile_images` 
    ORDER BY (ID = 11) DESC, RAND()      
    LIMIT 7
) as A
ORDER BY RAND()
Run Code Online (Sandbox Code Playgroud)


Mat*_*aff 5

如果你只是举例,它不需要那么复杂

SELECT * FROM tbl_table ORDER BY RAND()
Run Code Online (Sandbox Code Playgroud)

这将随机化您的数据.如果你想限制你显示的图像数量,那么只需:

SELECT * FROM tbl_table ORDER BY RAND() LIMIT 6
Run Code Online (Sandbox Code Playgroud)