В этой статье я расскажу, как сделать ротатор баннеров более эффективнее и красивее. Эффективность повысится благодаря тому, что баннер будет отображаться не один, а все, которые размещены, однако если их будет много - ротатор не будет тянуться далеко вниз, баннеры в нём будут \"ездить\"
Делается просто - идею спалил на одном сайте, в целях антирекламы промолчу.
Открываем ваш rotator.php и видим там такие строчки:
Разъясню что они значат, они значат, что баннер будет выводиться ток один. А нам надо, чтобы их вылезло много и не выдавало ошибок. У меня предложение стереть в файле rotator.php следующие строки:
Удалив их, мы просто удалим ротатор такой, какой он есть. Нам необходимо написать его заново, поэтому вставляем после:
Следующий код... Чтобы долго не париться и не объяснять, я прям в коде вывел пояснения. Вот собственно сам код:
Всё хорошо. Но цель статьи не достигнута Мы получаем все баннеры, которые есть, они располагаются с расстоянием в одну строчку. Но надо сделать так, чтобы они ещё и катались. В дело вступает обычный HTML. В файле rotator.php в самое начало вставляем:
И в самый конец вставляем:
Все.
А для тех, кто использует файл redirect.php, то просто поменяйте саму ссылку в баннере на вашу. Переменная $id уже взята из БД.
Я при переносе лично проверяю каждую статью - и тут у меня в очередной раз всё получилось. Вот содержимое моего rotator.php:
<?
include('remban.php');
$sql="select * from tb_advban";
$res=mysql_query($sql);
$kol=mysql_num_rows($res);
$poisk=0;
if($kol == 0) //если баннеров нет выведем пустой баннер с ПРАВИЛЬНОЙ ссылкой на заказ
{
?>
<?
}else{ //а если есть то тупо соберём всё в массив
while($row=mysql_fetch_array($res))
{
$id=$row["id"]; //ид баннера для тех,кто скрывает ссылки
$bansite=$row["urlsite"]; //берём урл баннера
$banpic=$row["urlpic"]; //берём урл картинки и выводим снизу баннер
?>
![<? echo $banpic; ?>]()
<?
} //всё взяли.закрываем условие -когда-
} //закрываем условие наличия баннеров
?>
Ставим и комментируем...
Делается просто - идею спалил на одном сайте, в целях антирекламы промолчу.
Открываем ваш rotator.php и видим там такие строчки:
if ($kol>0)
{
for ($i=1;$i<=$kol;$i++)
{
{
for ($i=1;$i<=$kol;$i++)
{
Разъясню что они значат, они значат, что баннер будет выводиться ток один. А нам надо, чтобы их вылезло много и не выдавало ошибок. У меня предложение стереть в файле rotator.php следующие строки:
$poisk=0;
if ($kol>0)
{
for ($i=1;$i<=$kol;$i++)
{
$row=mysql_fetch_assoc($res);
$idpred=$row["id"];
$curpred=$row["curview"];
if ($curpred=="1")
{
$sql="update tb_advban set curview=0 where id='$idpred'";
mysql_query($sql);
if ($i<$kol)
{
$row=mysql_fetch_assoc($res);
$id=$row["id"];
$urlsite=$row["urlsite"];
$urlpic=$row["urlpic"];
}else{
$sql="select * from tb_advban";
$res=mysql_query($sql);
$row=mysql_fetch_assoc($res);
$id=$row["id"];
$urlsite=$row["urlsite"];
$urlpic=$row["urlpic"];
}
$poisk=1;
}
}
if ($poisk==0)
{
$sql="select * from tb_advban";
$res=mysql_query($sql);
$row=mysql_fetch_assoc($res);
$id=$row["id"];
$urlsite=$row["urlsite"];
$urlpic=$row["urlpic"];
}
$sql="update tb_advban set curview=1 where id='$id'";
mysql_query($sql);
mysql_close($con);
?>
![<? echo $urlpic; ?>]()
<?
}else{
?>

<?
}
?>
if ($kol>0)
{
for ($i=1;$i<=$kol;$i++)
{
$row=mysql_fetch_assoc($res);
$idpred=$row["id"];
$curpred=$row["curview"];
if ($curpred=="1")
{
$sql="update tb_advban set curview=0 where id='$idpred'";
mysql_query($sql);
if ($i<$kol)
{
$row=mysql_fetch_assoc($res);
$id=$row["id"];
$urlsite=$row["urlsite"];
$urlpic=$row["urlpic"];
}else{
$sql="select * from tb_advban";
$res=mysql_query($sql);
$row=mysql_fetch_assoc($res);
$id=$row["id"];
$urlsite=$row["urlsite"];
$urlpic=$row["urlpic"];
}
$poisk=1;
}
}
if ($poisk==0)
{
$sql="select * from tb_advban";
$res=mysql_query($sql);
$row=mysql_fetch_assoc($res);
$id=$row["id"];
$urlsite=$row["urlsite"];
$urlpic=$row["urlpic"];
}
$sql="update tb_advban set curview=1 where id='$id'";
mysql_query($sql);
mysql_close($con);
?>
<?
}else{
?>

<?
}
?>
Удалив их, мы просто удалим ротатор такой, какой он есть. Нам необходимо написать его заново, поэтому вставляем после:
$kol=mysql_num_rows($res));
Следующий код... Чтобы долго не париться и не объяснять, я прям в коде вывел пояснения. Вот собственно сам код:
if($kol == 0) //если баннеров нет выведем пустой баннер с ПРАВИЛЬНОЙ ссылкой на заказ
{
?>
<?
}else{ //а если есть то тупо соберём всё в массив
while($row=mysql_fetch_array($res))
{
$id=$row["id"]; //ид баннера для тех,кто скрывает ссылки
$bansite=$row["urlsite"]; //берём урл баннера
$banpic=$row["urlpic"]; //берём урл картинки и выводим снизу баннер
?>
![<? echo $banpic; ?>]()
<?
} //всё взяли.закрываем условие -когда-
} //закрываем условие наличия баннеров
?>
{
?>

<?
}else{ //а если есть то тупо соберём всё в массив
while($row=mysql_fetch_array($res))
{
$id=$row["id"]; //ид баннера для тех,кто скрывает ссылки
$bansite=$row["urlsite"]; //берём урл баннера
$banpic=$row["urlpic"]; //берём урл картинки и выводим снизу баннер
?>
<?
} //всё взяли.закрываем условие -когда-
} //закрываем условие наличия баннеров
?>
Всё хорошо. Но цель статьи не достигнута Мы получаем все баннеры, которые есть, они располагаются с расстоянием в одну строчку. Но надо сделать так, чтобы они ещё и катались. В дело вступает обычный HTML. В файле rotator.php в самое начало вставляем:
И в самый конец вставляем:
Все.
А для тех, кто использует файл redirect.php, то просто поменяйте саму ссылку в баннере на вашу. Переменная $id уже взята из БД.
Я при переносе лично проверяю каждую статью - и тут у меня в очередной раз всё получилось. Вот содержимое моего rotator.php:
<?
include('remban.php');
$sql="select * from tb_advban";
$res=mysql_query($sql);
$kol=mysql_num_rows($res);
$poisk=0;
if($kol == 0) //если баннеров нет выведем пустой баннер с ПРАВИЛЬНОЙ ссылкой на заказ
{
?>

<?
}else{ //а если есть то тупо соберём всё в массив
while($row=mysql_fetch_array($res))
{
$id=$row["id"]; //ид баннера для тех,кто скрывает ссылки
$bansite=$row["urlsite"]; //берём урл баннера
$banpic=$row["urlpic"]; //берём урл картинки и выводим снизу баннер
?>
<?
} //всё взяли.закрываем условие -когда-
} //закрываем условие наличия баннеров
?>
Ставим и комментируем...
3 комментарии
0 загрузки
Детали
- Первый релиз 26 фев 2011
- Последнее обновление 03 авг 2026
- Документация Есть
- Содержимое файлов Исходные файлы
- Всего товаров 203
- Рейтинг (0)
- Регистрация 19 фев 2011
- Уровень 0
- Пользователь подтверждён Да
- Телефон подтверждён Нет
- Email подтверждён Нет

vip-xoct.com
- 17 мая 2012Ребят, чтоб добавить пробел между баннерами достаточно изменить строчку
<a href="<? echo $bansite; ?>" target="_blank"><img src="<? echo $banpic; ?>" width="468" height="60"></a><br>
на
<a href="<? echo $bansite; ?>" target="_blank"><img src="<? echo $banpic; ?>" width="468" height="60"></a><br><br>
тоесть добавить ещё один раз тег <br>
а так все ништяк!!!
Какие еше мысли по доработке mfs 2.2?
Не верите? вот тому доказательство!
lemax
- 18 мар 2011Приветствую усех. Да действительно <br> не хватает. А так все отлично. А то как-то с одним не очень было. Спасибо.
Valeramozg
- 10 мар 2011на рисунке показано что между банерами есть прогал, а у меня нету((