首页 文章

使用mysql rand()在ajax调用上显示唯一的图像

提问于
浏览
0

我正在使用mysql rand()函数从数据库中获取一些图像 . 当我打印我的数组时,它会显示具有独特图像的唯一记录 .

此外,它还会在刷新页面时显示不同的图像 . 现在我想避免手动刷新并在特定间隔后使用ajax刷新它 .

这也可以,但它不会循环遍历序列中的所有图像 . 例如,在ajax调用的第二个或第三个图像之后,image1再次出现 . 我想避免和循环所有唯一而不重复 .

就像我的查询取这个:image1 image2 image3 image4 image5

我希望它以相同的顺序循环,而不会重复任何图像 . 目前图像显示如下:image4 image3 image1 image4 image2 ...... ......等等 .

因此,您可以看到图像不是按顺序排列的 .

这是我的代码:

这是我的文件,其中提取和循环图像 .

<?php 
        $club_activity_id = get_single_value("mpc_clubs","activity_id", "id =".$_SESSION['USERACTIVECLUB'],$orderby="1",$order="desc",$limit="",$disp=false);
        //echo $club_activity_id;
        $select_sponsor = mysql_query("SELECT * FROM mpc_sponsor_ad WHERE ( FIND_IN_SET('".$club_activity_id."',activity) or activity = '0') and status > 0 ORDER By RAND() limit 1");

            if(mysql_num_rows($select_sponsor) > 0)
        {
?>
<ul>
    <li class="content-menu" style="opacity: 1;" id="ad">


                <div class="content-menu_part width_175">
                    <?php
                        $fetch_sponsor = mysql_fetch_array($select_sponsor);
                        if ($fetch_sponsor['sponsor_ad_title']) {
                    ?>
                    <div class="content-menu-lf"><?= $fetch_sponsor['sponsor_ad_title'] ?></div>
                    <?php   
                        }
                    ?>
                    <div class="content-menu-rt"></div>
                </div>
                <div class="contete-txt" style="padding:0 0 0 0px; width:200px;">


         <?=stripslashes($fetch_sponsor['sponsor_ad_url'])?>
        </div>
    </li>
</ul>
<?php
 }
 ?>

这是在窗口加载20秒后刷新的ajax调用 . 此代码位于页脚文件中,ajax发布到right-sponsor.php,该文件是上面带有查询的文件 .

$(window).load(function() { //start after HTML, images have loaded
setInterval(function() {
    $.ajax({
    type: "POST",
    url: "common/right_sponsor.php",
    success:function(msg)
    { 
      $('#sponser').html(msg);
      //alert('yes image changes.!!');
    }
  });          
}, 20000);

});

1 回答

  • 0

    在页面加载时随机生成所有图像的列表,在会话中保存此列表(仅ID),当您通过ajax刷新它时,按正常顺序获取它们,如1 - 5,然后是6 - 10等 .

相关问题