Летающие баннеры в ротаторе баннеров 468х60
Летающие баннеры в ротаторе баннеров 468х60
В этой статье я расскажу, как сделать ротатор баннеров более эффективнее и красивее. Эффективность повысится благодаря тому, что баннер будет отображаться не один, а все, которые размещены, однако если их будет много - ротатор не будет тянуться далеко вниз, баннеры в нём будут "ездить"

Делается просто - идею спалил на одном сайте, в целях антирекламы промолчу.

Открываем ваш rotator.php и видим там такие строчки:
if ($kol>0)
  {
  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);
  ?>
  <a href="<? echo $urlsite; ?>" target="_blank"><img src="<? echo $urlpic; ?>" width="468" height="60"></a>
  <?
  }else{
  ?>
  <a href="addbanner.php"><img src="/images/nobanner.jpg" width="468" height="60"></a>
  <?
  }
?>

Удалив их, мы просто удалим ротатор такой, какой он есть. Нам необходимо написать его заново, поэтому вставляем после:
$kol=mysql_num_rows($res));

Следующий код... Чтобы долго не париться и не объяснять, я прям в коде вывел пояснения. Вот собственно сам код:
if($kol == 0) //если баннеров нет выведем пустой баннер с ПРАВИЛЬНОЙ ссылкой на заказ
  {
  ?><a href="advertise.php?adv=banner"><img src="/images/nobanner.jpg" width="468" height="60"></a>
  <?
  }else{ //а если есть то тупо соберём всё в массив

  while($row=mysql_fetch_array($res))
  {
  $id=$row["id"]; //ид баннера для тех,кто скрывает ссылки
  $bansite=$row["urlsite"]; //берём урл баннера
  $banpic=$row["urlpic"]; //берём урл картинки и выводим снизу баннер
  ?>
<a href="<? echo $bansite; ?>" target="_blank"><img src="<? echo $banpic; ?>" width="468" height="60"></a><br>
  <?
  } //всё взяли.закрываем условие -когда-
  } //закрываем условие наличия баннеров
?>

Всё хорошо. Но цель статьи не достигнута Мы получаем все баннеры, которые есть, они располагаются с расстоянием в одну строчку. Но надо сделать так, чтобы они ещё и катались. В дело вступает обычный HTML. В файле rotator.php в самое начало вставляем:
<div align="center"><marquee direction="up" scrollamount="2" onmouseover="this.scrollAmount=0" onmouseout="this.scrollAmount=2" width="468" height="300">

И в самый конец вставляем:
</marquee></div>

Все.

А для тех, кто использует файл redirect.php, то просто поменяйте саму ссылку в баннере на вашу. Переменная $id уже взята из БД.

Я при переносе лично проверяю каждую статью - и тут у меня в очередной раз всё получилось. Вот содержимое моего rotator.php:
<div align="center"><marquee direction="up" scrollamount="2" onmouseover="this.scrollAmount=0" onmouseout="this.scrollAmount=2" width="468" height="300">
<?
include('remban.php');

    $sql="select * from tb_advban";
    $res=mysql_query($sql);
    
    $kol=mysql_num_rows($res);
    
    $poisk=0;

      if($kol == 0) //если баннеров нет выведем пустой баннер с ПРАВИЛЬНОЙ ссылкой на заказ
  {
  ?><a href="advertise.php?adv=banner"><img src="/images/nobanner.jpg" width="468" height="60"></a>
  <?
  }else{ //а если есть то тупо соберём всё в массив

  while($row=mysql_fetch_array($res))
  {
  $id=$row["id"]; //ид баннера для тех,кто скрывает ссылки
  $bansite=$row["urlsite"]; //берём урл баннера
  $banpic=$row["urlpic"]; //берём урл картинки и выводим снизу баннер
  ?>
<a href="<? echo $bansite; ?>" target="_blank"><img src="<? echo $banpic; ?>" width="468" height="60"></a><br>
  <?
  } //всё взяли.закрываем условие -когда-
  } //закрываем условие наличия баннеров
?>
    
    </marquee></div>

Ставим и комментируем...


Рубрика: Бесплатное » Дополнения   |   Автор: Alex   |   Просмотры: 5245
Комментариев: 14
Публикаций: 0
ICQ: 635331986
- 102 +
  Автор: Valeramozg   |   Группа: Дизайнеры   |   Дата: 11 марта 2011  
на рисунке показано что между банерами есть прогал, а у меня нету((
Комментариев: 27
Публикаций: 0
ICQ: 264441456
- 56 +
  Автор: lemax   |   Группа: V.I.P.   |   Дата: 18 марта 2011  
Приветствую усех. Да действительно <br> не хватает. А так все отлично. А то как-то с одним не очень было. Спасибо.
Комментариев: 6
Публикаций: 0
ICQ: --
- 1 +
  Автор: vip-xoct.com   |   Группа: Пользователи   |   Дата: 18 мая 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?

Не верите? вот тому доказательство!
http://seosystem.vip-xoct.com
Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.