实际上,我有10个横幅,我想改变它随机时,页面刷新。更改横幅并在重复之前完成其10个横幅的循环。
我正在使用这个代码
$banners=$objCms->getbanners();
for($count=0;$count<count($banners);$count++)
{
$image[$count]['path']= $banners[$count]['path'];
$image[$count]['bid']= $banners[$count]['bid'];
$image[$count]['bannerlink']=$banners[$count]['bannerlink'];
$image[$count]['name']=$banners[$count]['banner_name'];
$image[$count]['url']=$banners[$count]['bannerlink'];
}
$bannerAdTotals=count($image)-1;
if($bannerAdTotals>0)
{
//mt_srand((double)microtime() * 1234567);
$bannerPicked = mt_rand(0,$bannerAdTotals);
}
else
{
$bannerPicked = 0;
}
?>...................banner在此处放映.................
请帮帮我.
发布于 2011-05-11 14:38:37
以下是一个会话的示例:
session_start();
// check which was the last image that was loaded
if (isset($_SESSION['currentImage'])) {
$imgCounter = (int) $_SESSION['currentImage'] + 1;
}else {
$imgCounter = $_SESSION['currentImage'] = 0;
}
if ($imgCounter > 10) {
$imgCounter = $_SESSION['currentImage'] = 0;
}
$currentImage = "/images/image{$imgCounter}.jpg";
....
<img src="<?php echo $currentImage?>" alt="" />现在,您每次都会加载下一个图像,如果它达到10,它将重新开始。
您可能需要对其进行一些调整,使其与您的代码相匹配
**更新**
对于random,您可以使用rand(0,9)并检查返回的值,将其用于图片并将其从等式中删除
发布于 2011-05-11 14:51:10
这应该能起到作用:
session_start();
if (!isset($_SESSION['pick']) || count($_SESSION['pick']) == 0) {
// reset available banners
$_SESSION['pick'] = $objCms->getbanners();
}
// pick random key from available banners
$bannerPickedId = array_rand($_SESSION['pick']);
// get value
$bannerPicked = $_SESSION['pick'][$bannerPickedId];
// remove picked from available
$_SESSION['pick'] = array_slice($_SESSION['pick'], $bannerPickedId );https://stackoverflow.com/questions/5960048
复制相似问题