感谢您提前帮助。这是最近其他人提出的类似问题(Random Switch Statement Improvements?),但那里提供的解决方案并没有为我做到这一点。
如果你不想去那个页面,这就是问题所在。我有2个幻灯片图像,一个在另一个上面。我希望这些图像永远不会相同,无论是在页面加载上还是幻灯片随机播放无限。
我已尝试添加
"ORDER BY rand() LIMIT 2"
并且只会使幻灯片图像消失。
以下是代码:
$getRugInfo = "SELECT f_name, l_name, city, zipcode, dfd.name as state_id, rug_types, profile_photo, profile_url, prt.rating FROM rug_owners ps
left join rug_states pst on dfd.state_id = ps.state_id left join rug_reviews
prt on dfd.user_id = ps.user_id WHERE promoted_rug = 1 ORDER BY ";
$range_values = range(1,6);
shuffle($range_values);
$pickRug=array_pop($range_values);
// I tried doing the code above, but it did not make the slideshow images mutually exclusive. THe same two images would show up on occasion.
$pickRug = mt_rand(1, 5);
switch($pickRug) {
case 1:
$getSliderInfo .= "f_name";
break;
case 2:
$getSliderInfo .= "l_name";
break;
case 3:
$getSliderInfo .= "city";
break;
case 4:
$getSliderInfo .= "profile_photo";
break;
case 5:
$getSliderInfo .= "city DESC";
break;
}
$sliderResult = mysql_query($getSliderInfo); // calls the slideshow
$link_address = $row["profile_url"];
然后对于第二张幻灯片图像(底部的图像)与上面的内容相同
以下是创建幻灯片的Jquery:
<script>
jQuery('#Slider').cycle({
fx: 'fade',
speed: 3000
});
jQuery('#Slider2').cycle({
fx: 'fade',
speed: 3000
});
</script>
同样,它与上面提供的链接中的其他人基本相同,只是提供的解决方案不起作用。
答案 0 :(得分:0)
尝试增加随机数的范围并调整switch语句,如下所示:
$pickRug = mt_rand(1, 15);
switch($pickRug) {
case 1:
case 4:
case 7:
$getSliderInfo .= "f_name";
break;
case 2:
case 5:
case 8:
$getSliderInfo .= "l_name";
break;
case 3:
case 6:
case 9:
$getSliderInfo .= "city";
break;
case 10:
case 12:
case 14:
$getSliderInfo .= "profile_photo";
break;
case 11:
case 13:
case 15:
$getSliderInfo .= "city DESC";
break;
}
这种笨拙会给你带来更多独特的结果。
希望这会对你有所帮助!!