Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 通过MySQL的随机视频_Php_Mysql_Random - Fatal编程技术网

Php 通过MySQL的随机视频

Php 通过MySQL的随机视频,php,mysql,random,Php,Mysql,Random,我有一个MySQL数据库,其中存储了8个视频的URL。我想知道的是在滑块中随机显示它们。到目前为止一切都正常,而且视频不是随机的,但总是一样的,这意味着视频是从数据库中随机选取的,但每次我刷新页面时,它是视频编号1的8倍,下一次刷新是视频编号6的8倍等等 <?php $mysqli = new mysqli("####", "####", "###", "clearchannel"); if ($mysqli->connect_errno) { echo "Failed t

我有一个MySQL数据库,其中存储了8个视频的URL。我想知道的是在滑块中随机显示它们。到目前为止一切都正常,而且视频不是随机的,但总是一样的,这意味着视频是从数据库中随机选取的,但每次我刷新页面时,它是视频编号1的8倍,下一次刷新是视频编号6的8倍等等

<?php
$mysqli = new mysqli("####", "####", "###", "clearchannel");
if ($mysqli->connect_errno) {
     echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}                      

$res = $mysqli->query("SELECT EmbedURL FROM Videos where location_id='2' ORDER BY RAND() LIMIT 3");
$vid = $res->fetch_assoc();
?>  
                        <ul class="bxslider">
                            <li><iframe src="<?php echo $vid['EmbedURL']; ?>" frameborder="0" autoplay="0" allowfullscreen></iframe></li>
                            <li><iframe src="<?php echo $vid['EmbedURL']; ?>" frameborder="0" autoplay="0" allowfullscreen></iframe></li>
                            <li><iframe src="<?php echo $vid['EmbedURL']; ?>" frameborder="0" autoplay="0" allowfullscreen></iframe></li>
                            <li><iframe src="<?php echo $vid['EmbedURL']; ?>" frameborder="0" autoplay="0" allowfullscreen></iframe></li>
                            <li><iframe src="<?php echo $vid['EmbedURL']; ?>" frameborder="0" autoplay="0" allowfullscreen></iframe></li>
                            <li><iframe src="<?php echo $vid['EmbedURL']; ?>" frameborder="0" autoplay="0" allowfullscreen></iframe></li>
                            <li><iframe src="<?php echo $vid['EmbedURL']; ?>" frameborder="0" autoplay="0" allowfullscreen></iframe></li>
                            <li><iframe src="<?php echo $vid['EmbedURL']; ?>" frameborder="0" autoplay="0" allowfullscreen></iframe></li>
                        </ul>          

您需要在结果上放置:

<ul class="bxslider">
<?php
while($vid = $res->fetch_assoc()){ ?>
<li><iframe src="<?php echo $vid['EmbedURL']; ?>" frameborder="0" autoplay="0" allowfullscreen></iframe></li>
<?php } ?>
</ul>

  • 您需要在显示结果时输入:

    <ul class="bxslider">
    <?php
    while($vid = $res->fetch_assoc()){ ?>
    <li><iframe src="<?php echo $vid['EmbedURL']; ?>" frameborder="0" autoplay="0" allowfullscreen></iframe></li>
    <?php } ?>
    </ul>
    

    • 在每个iframe中,使用相同的变量
      $vid['EmbedURL']
      ,从而得到结果。如果要从请求中获取所有视频,需要使用while循环:

      while($vid = $res->fetch_assoc()) {
      ?>
        <li><iframe src="<?php echo $vid['EmbedURL']; ?>" frameborder="0" autoplay="0" allowfullscreen></iframe></li>
      <?php
      }
      
      while($vid=$res->fetch_assoc()){
      ?>
      
    • 在每个iframe中,您使用相同的变量
      $vid['EmbedURL']
      ,因此得到了结果。如果您希望从请求中获取所有视频,则需要使用while循环:

      while($vid = $res->fetch_assoc()) {
      ?>
        <li><iframe src="<?php echo $vid['EmbedURL']; ?>" frameborder="0" autoplay="0" allowfullscreen></iframe></li>
      <?php
      }
      
      while($vid=$res->fetch_assoc()){
      ?>
      
    • 使用此新代码更改您的代码:

      1.您将结果限制为来自db的3个URL,
      ORDER BY RAND()LIMIT 3”
      如果需要8个不同的Vidio,请将其更改为
      8

      <?php
      $mysqli = new mysqli("####", "####", "###", "clearchannel");
      if ($mysqli->connect_errno) {
      echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
            }                      
      
      $res = $mysqli->query("SELECT EmbedURL FROM Videos where location_id='2' ORDER BY RAND() LIMIT 8");
      
       echo'<ul class="bxslider">';
      
      while($url = $res->fetch_assoc()){
      echo '<li><iframe src="'.$vid['EmbedURL'].'" frameborder="0" autoplay="0" allowfullscreen></iframe></li>'; 
      }?>
                          </ul>
      

      使用此新代码更改您的代码:

      1.您将结果限制为来自db的3个URL,
      ORDER BY RAND()LIMIT 3”
      如果需要8个不同的Vidio,请将其更改为
      8

      <?php
      $mysqli = new mysqli("####", "####", "###", "clearchannel");
      if ($mysqli->connect_errno) {
      echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
            }                      
      
      $res = $mysqli->query("SELECT EmbedURL FROM Videos where location_id='2' ORDER BY RAND() LIMIT 8");
      
       echo'<ul class="bxslider">';
      
      while($url = $res->fetch_assoc()){
      echo '<li><iframe src="'.$vid['EmbedURL'].'" frameborder="0" autoplay="0" allowfullscreen></iframe></li>'; 
      }?>
                          </ul>
      

      你只是在拉一个结果,然后一次又一次地回显它。永远不要在论坛上发布工作服务器URL。你只是在拉一个结果,然后一次又一次地回显它。永远不要在论坛上发布工作服务器URL。你有什么建议吗?我的方法是否适用于iframe以外的方法?:oIt取决于你的css和代码的结构,但你可以尝试一下唱。我通常尝试避免取消iframe。您有什么建议吗?我的方法是否适用于iframe以外的其他方法?:oIt取决于css和代码的结构,但您可以尝试使用。我通常尝试避免取消iframe。我会在第159行收到类似解析错误:语法错误,意外的文件结尾index.php。第159行为空因为HTML没有那么长哦,等等,它缺少了一个
      }
      这就是导致错误的原因现在它应该可以工作了,或者至少它不会再显示错误了耶!工作非常好!非常感谢!:)我在第159行得到了类似解析错误:语法错误,意外的文件index.php结尾。第159行是空的tho,因为HTML没有那么长o:哦,等一下,它缺少一个
      }
      这就是导致错误的原因现在它应该可以工作了,或者至少它不会再显示错误了!工作非常好!非常感谢!:)