尝试从mysql数据库返回多个随机结果

eoigrqb6  于 2021-06-23  发布在  Mysql
关注(0)|答案(2)|浏览(349)

嗨,我已经花了一天的大部分时间在这个问题上,希望有人能帮助你。我需要生成一个随机显示5-10嵌入youtube视频页面上没有重复。我可以让视频显示(但所有相同的艺术家)当我刷新它显示一组新的视频,但再次所有相同的艺术家。我知道答案可能很简单,但我就是看不出来。
任何帮助或指点将不胜感激。
初始php代码是:

$result = mysql_query("SELECT Youtube FROM artist ORDER BY RAND() LIMIT 5");
$test = mysql_fetch_array($result);
if (!$result) 
{
    die("Error: Data not found..");
}
$Youtube=$test['Youtube'];

输出为:

<div class="ws_images"><ul>
  <iframe width="300" height="300" src="https://www.youtube.com/embed/<?       php echo $Youtube ?>" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
  <iframe width="300" height="300" src="https://www.youtube.com/embed/<?php echo $Youtube ?>" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
  <iframe width="300" height="300" src="https://www.youtube.com/embed/<?php echo $Youtube ?>" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
  <iframe width="300" height="300" src="https://www.youtube.com/embed/<?php echo $Youtube ?>" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
  <iframe width="300" height="300" src="https://www.youtube.com/embed/<?php echo $Youtube ?>" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
</ul></div>
lskq00tm

lskq00tm1#

这应该管用。我修改了你的代码,还减少了一段时间。

<?php 
$mysqli = new mysqli("127.0.0.1", "root", "password", "database name");
$mysqli->set_charset('utf8mb4'); //optional for when you use utf8mb4 charset (recommended) 

$getYouTubeLinks = "SELECT DISTINCT Youtube FROM artist ORDER BY RAND() LIMIT 5";
$getRows = $mysqli->query($getYouTubeLinks);

if($getRows->num_rows > 0) {
  while($row = $getRows->fetch_assoc()) {
    $iframes .= '<iframe width="300" height="300" src="https://www.youtube.com/embed/'.$row['Youtube'].'" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe><br>';
    }
  }

  ?>

  <div class="ws_images"><ul>
    <?=$iframes;?>
  </ul></div>
n3ipq98p

n3ipq98p2#

$result=mysql\u query(“select distinct youtube from artist order by rand()limit 5”);
mysql文档。

相关问题