Привет, я потратил большую часть дня на это и обратился к вам в надежде, что кто-то может помочь. Мне нужно создать случайный дисплей 5-10 встроенных вывесок на странице без дублирования. Я могу отобразить видео (но все тот же художник), когда я обновляю его, отображает новый набор видеороликов, но опять же тот же самый художник. Я знаю, что ответ, вероятно, очень прост, но я просто не вижу его.
Любая помощь или указатели будут наиболее оценены.
Исходный 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>
Это должно сработать. Я изменил ваш код, а также уменьшил его на цикл while.
<?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>
$mysqli
вероятно, не установлена в вашей среде. Также вам следует переключиться на mysqli. Я выступает за улучшение, и это более безопасно.
$ result = mysql_query ("SELECT DISTINCT Youtube FROM artist ORDER BY RAND() LIMIT 5");