영카트 배너 랜덤출력
본문
<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.G5_SHOP_SKIN_URL.'/style.css">', 0);
?>
<?php
$max_width = $max_height = 0;
$bn_first_class = ' class="sbn_first"';
for ($i=0; $row=sql_fetch_array($result); $i++)
{
if ($i==0) echo ''.PHP_EOL;
//print_r2($row);
// 테두리 있는지
$bn_border = ($row['bn_border']) ? ' class="sbn_border"' : '';;
// 새창 띄우기인지
$bn_new_win = ($row['bn_new_win']) ? ' target="_blank"' : '';
$bimg = G5_DATA_PATH.'/banner/'.$row['bn_id'];
if (file_exists($bimg))
{
$banner = '';
$size = getimagesize($bimg);
if($size[2] < 1 || $size[2] > 16)
continue;
if($max_width < $size[0])
$max_width = $size[0];
if($max_height < $size[1])
$max_height = $size[1];
if ($row['bn_url'][0] == '#')
$banner .= '<a href="'.$row['bn_url'].'">';
else if ($row['bn_url'] && $row['bn_url'] != 'http://') {
$banner .= '<a href="'.G5_SHOP_URL.'/bannerhit.php?bn_id='.$row['bn_id'].'&url='.urlencode($row['bn_url']).'"'.$bn_new_win.'>';
}
echo $banner.'<img src="'.G5_DATA_URL.'/banner/'.$row['bn_id'].'" style="max-width:'.$size[0].'px; width:100%;" alt="'.$row['bn_alt'].'">';
if($banner)
echo '</a>'.PHP_EOL;
$bn_first_class = '';
}
}
if ($i>0) echo ''.PHP_EOL;
?>
$banner_date = rand();
shuffle($banner_data);
이게 안먹히네요
!-->
답변 1
shuffle함수는 배열을 인자로 갖어야 합니다.
http://php.net/manual/kr/function.shuffle.php
그런데 rand()함수가 생성하는 값이 배열이 아니므로 문제가 생기겠죠.
답변을 작성하시기 전에 로그인 해주세요.