В этой статье я расскажу, как сделать ротатор баннеров более эффективнее и красивее. Эффективность повысится благодаря тому, что баннер будет отображаться не один, а все, которые размещены, однако если их будет много — ротатор не будет тянуться далеко вниз, баннеры в нём будут \»ездить\»В этой статье я расскажу, как сделать ротатор баннеров более эффективнее и красивее. Эффективность повысится благодаря тому, что баннер будет отображаться не один, а все, которые размещены, однако если их будет много — ротатор не будет тянуться далеко вниз, баннеры в нём будут \»ездить\»
Делается просто — идею спалил на одном сайте, в целях антирекламы промолчу.
Открываем ваш rotator.php и видим там такие строчки:
{
for ($i=1;$i<=$kol;$i++)
{
Разъясню что они значат, они значат, что баннер будет выводиться ток один. А нам надо, чтобы их вылезло много и не выдавало ошибок. У меня предложение стереть в файле rotator.php следующие строки:
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>
<?
}
?>
Удалив их, мы просто удалим ротатор такой, какой он есть. Нам необходимо написать его заново, поэтому вставляем после:
Следующий код… Чтобы долго не париться и не объяснять, я прям в коде вывел пояснения. Вот собственно сам код:
{
?><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 в самое начало вставляем:
И в самый конец вставляем:
Все.
А для тех, кто использует файл 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) //если баннеров нет выведем пустой баннер с ПРАВИЛЬНОЙ ссылкой на заказ
{
?><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>
Ставим и комментируем…
Отправить комментарий
Вы должны быть зарегистрированы чтобы оставить комментарий.
Вы должны быть зарегистрированы чтобы оставить комментарий.