Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: баннеры. Как их менять местами?
 
 автор: usa   (07.12.2011 в 02:54)   письмо автору
 
 

Добрый день!
На сайте вывожу баннеры. Как сделать чтобы они менялись местами? К примеру на следующий день верхний баннер становится вторым, а прежний второй - третьим, а третий переходит на верхнюю позицию? Это возможно?

<a href="http://site.ru" target="_blank">
<img src="banners1.gif"  alt="ГСХА"></a><br>

<a href="http://www.site.ru" target="_blank">
<img src="banners2.gif"  alt="Университет"></a><br>

<a href="http://site.ru" target="_blank"> 
<img src="banners3i.gif"  alt="институт"></a>

  Ответить  
 
 автор: Sfinks   (07.12.2011 в 08:59)   письмо автору
 
   для: usa   (07.12.2011 в 02:54)
 

<?
  $ban 
= array (
    
'<a href="http://site.ru" target="_blank"><img src="banners1.gif"  alt="ГСХА"></a>',
    
'<a href="http://www.site.ru" target="_blank"><img src="banners2.gif"  alt="Университет"></a>',
    
'<a href="http://site.ru" target="_blank"><img src="banners3i.gif"  alt="институт"></a>',
  );
  
$i rand(0,2);
  echo 
$ban[$i];
  unset(
$ban[$i]);
  
$ban array_values($ban);
  
$i rand(0,1);
  echo 
$ban[$i];
  
$i 1-$i;
  echo 
$ban[$i];
?>

если элементов больше, можно это все зацыклить, чтоб не вручную.

  Ответить  
 
 автор: sl1p   (07.12.2011 в 12:04)   письмо автору
 
   для: Sfinks   (07.12.2011 в 08:59)
 

жестко)

<?
$banners 
= array(
    
'<a href="http://site.ru" target="_blank"><img src="banners1.gif"  alt="ГСХА"></a>',
    
'<a href="http://www.site.ru" target="_blank"><img src="banners2.gif"  alt="Университет"></a>',
    
'<a href="http://site.ru" target="_blank"><img src="banners3i.gif"  alt="институт"></a>',
  ); 
shuffle($banners);
foreach(
$banners as $banner) {
    echo 
$banner.'<br>';
}

  Ответить  
 
 автор: Valick   (07.12.2011 в 12:25)   письмо автору
 
   для: sl1p   (07.12.2011 в 12:04)
 

человеку нужна определенная последовательность изменения, читайте внимательнее.

  Ответить  
 
 автор: Sfinks   (12.12.2011 в 14:23)   письмо автору
 
   для: sl1p   (07.12.2011 в 12:04)
 

:D Не знал про эту функцию =)

  Ответить  
 
 автор: Valick   (07.12.2011 в 12:33)   письмо автору
 
   для: usa   (07.12.2011 в 02:54)
 

<? 
  $ban 
= array ( 
    
'<a href="http://site.ru" target="_blank"><img src="banners1.gif"  alt="ГСХА"></a>'
    
'<a href="http://www.site.ru" target="_blank"><img src="banners2.gif"  alt="Университет"></a>'
    
'<a href="http://site.ru" target="_blank"><img src="banners3i.gif"  alt="институт"></a>'
  ); 
$f array_pop($ban);
array_unshift($ban,$f);
?>

или даже так... проверьте, а то некогда денвер запускать
array_unshift($ban,array_pop($ban));

только это для примера, в жизни это просто так не проканает
где храняться ссылки баннеров? или у вас чистый html?

  Ответить  
 
 автор: usa   (07.12.2011 в 13:18)   письмо автору
 
   для: Valick   (07.12.2011 в 12:33)
 

где храняться ссылки баннеров?
в папке img хранятся.

  Ответить  
 
 автор: Valick   (07.12.2011 в 13:49)   письмо автору
 
   для: usa   (07.12.2011 в 13:18)
 

нет, там храняться сами баннеры
ссылка это как раз вот это -> <a href="http://site.ru" target="_blank">
<img src="banners1.gif" alt="ГСХА"></a><br>

вам было предложено хранить их в массиве, но так не получиться

  Ответить  
 
 автор: usa   (07.12.2011 в 14:15)   письмо автору
 
   для: Valick   (07.12.2011 в 13:49)
 

вам было предложено хранить их в массиве, но так не получиться
А где их хранить тогда?

  Ответить  
 
 автор: Valick   (07.12.2011 в 14:18)   письмо автору
 
   для: usa   (07.12.2011 в 14:15)
 

хранят либо в файле, либо в базе данных

если в файле, то читаете в массив и работаете , ну и раз в сутки предложенным выше способом изменив последовательность баннеров пересохраняете файл

с базой возможностей больше, но и подход посложнее

  Ответить  
 
 автор: usa   (07.12.2011 в 17:03)   письмо автору
 
   для: Valick   (07.12.2011 в 14:18)
 

т.е есди записать так
<?  
  $ban 
= array (  
    
'<a href="http://site.ru" target="_blank"><img src="banners1.gif"  alt="ГСХА"></a>',  
    
'<a href="http://www.site.ru" target="_blank"><img src="banners2.gif"  alt="Университет"></a>',  
    
'<a href="http://site.ru" target="_blank"><img src="banners3i.gif"  alt="институт"></a>',  
  );  
$f array_pop($ban); 
array_unshift($ban,$f); 
?>

то будет работать?

  Ответить  
 
 автор: Valick   (07.12.2011 в 17:07)   письмо автору
 
   для: usa   (07.12.2011 в 17:03)
 

должно работать, но последовательность будет одна и та же
массив $ban нужно не руками прописывать, а читать из файла и сохранять в файле после изменения, тогда все будет работать как вы просили

  Ответить  
 
 автор: usa   (11.12.2011 в 04:44)   письмо автору
 
   для: Valick   (07.12.2011 в 17:07)
 

массив $ban нужно не руками прописывать, а читать из файла и сохранять в файле после изменения, тогда все будет работать как вы просили

а как прочитать?

  Ответить  
 
 автор: Sfinks   (11.12.2011 в 18:21)   письмо автору
 
   для: usa   (11.12.2011 в 04:44)
 

$ban = file("имя_файла_с_банерами");
каждая строка файла будет отдельным элементом массива.

  Ответить  
 
 автор: usa   (12.12.2011 в 08:44)   письмо автору
 
   для: Sfinks   (11.12.2011 в 18:21)
 

попробовал так
<?   
  $ban 
= array (   
    
'<a href="http://site.ru" target="_blank"><img src="banners1.gif"  alt="ГСХА"></a>',   
    
'<a href="http://www.site.ru" target="_blank"><img src="banners2.gif"  alt="Университет"></a>',   
    
'<a href="http://site.ru" target="_blank"><img src="banners3i.gif"  alt="институт"></a>',   
  );   
$f array_pop($ban);  
array_unshift($ban,$f);  
?>

не все модули отображаются.
Ладно надо упросить тогда, пусть они меняются местами при каждой перезагрузки страницы.
Это как можно реализовать?

  Ответить  
 
 автор: Sfinks   (12.12.2011 в 14:22)   письмо автору
 
   для: usa   (12.12.2011 в 08:44)
 

Ну если уж можно при каждой загрузке менять, значит порядок не принципиален. Значит все-таки можно выводить в случайном порядке. А это описано вначале в посте "sl1p (07.12.2011 в 12:04)"

  Ответить  
 
 автор: usa   (12.12.2011 в 15:38)   письмо автору
 
   для: Sfinks   (12.12.2011 в 14:22)
 

Parse error: syntax error, unexpected '<' in /.... on line 17

<br>
<? 
$banners 
= array( 
    
'<a href="http://www.usca.ru" target="_blank">
<img src="banners/ulyanovck_gsha.gif"  alt="Ульяновская ГСХА"  width="160" height="70" align="center"></a>'

    
'<a href="http://www.vvsu.ru" target="_blank">
<img src="banners/vladivostok_vgues.gif"  alt="Владивостокский государственный университет экономики и сервиса"  
width="160" height="70" align="center">'

    
'<a href="http://ami-map.ru" target="_blank"> 
<img src="banners/ami.gif"  alt="Академический международный институт"  width="160" height="70" align="center"></a></a>'

  );  
shuffle($banners); 
foreach(
$banners as $banner) { 
    echo 
$banner.'<br>'
}

ниже идет 17 строка
<div align="center"><a href="http://cinema5.ru" target="_blank"><img src="banners/simema.gif" alt="Киноцентр Синема 5" width="160" height="100"></a></div><br>

  Ответить  
 
 автор: Valick   (12.12.2011 в 16:30)   письмо автору
 
   для: Sfinks   (12.12.2011 в 14:22)
 

порядок не принципиален, как и нет гарантии получить одно и то же значение неограниченное количество раз подряд (утрирую конечно, но надеюсь вы меня поняли)
___
я перестал давать автору какие либо советы, по одной простой причине, у него отсутствую даже базовые знания, я просто не в состоянии объяснить ход своих мыслей
это очень хорошо что человек задает много вопросов, вот только пока рано задавать именно такие вопросы, это все равно что в первом класе задавать вопросы по высшей математике
___
даже от "вредных советов" не пытаюсь отговорить, самое время набивать свои личные шишки :)
пример вредного совета:
Поставивь varchar, а длину значения 255(но неменьше 1) и сохрани это поле
____
мне гораздо проще просто написать код, но даже на это нет времени

  Ответить  
 
 автор: Sfinks   (12.12.2011 в 17:08)   письмо автору
 
   для: Valick   (12.12.2011 в 16:30)
 

> нет гарантии получить одно и то же значение неограниченное количество раз подряд
если менять банеры местами по кругу при любом обращении любого пользователя, то такой шанс не меньше. А если менять для каждого пользователя отдельно, то тут уже надо куки или сессии задействовать..... По моему овчинка выделки не стоит. Тем более, что это не принципиальный вопрос, т.к. автор, когда не получилось менять местами раз в день, взял и передумал, что можно и при каждом обращении менять. Значит и на счет порядка можно передумать. Так что шуфл в самый раз =)

  Ответить  
 
 автор: usa   (12.12.2011 в 17:40)   письмо автору
 
   для: Sfinks   (12.12.2011 в 17:08)
 

Автор поста признает, что его знания php ниже минимального. Автор не настаивает на помощи.
Для других, кто понимает для чего создан форум, еще раз:


На сайте размещены баннеры (сверху вниз). Одни и те же в течение долго промежутка времени. И чтобы придать "свежесть" автор просит подсказать как реализовать чтобы баннеры менялись местами.

  Ответить  
 
 автор: cheops   (12.12.2011 в 18:02)   письмо автору
 
   для: usa   (12.12.2011 в 17:40)
 

Баннеры хранятся в базе данных или это чисто текстовое решение?

  Ответить  
 
 автор: usa   (12.12.2011 в 18:17)   письмо автору
 
   для: cheops   (12.12.2011 в 18:02)
 

Баннеры хранятся в папке banner, которая загружена на сервер

  Ответить  
 
 автор: cheops   (12.12.2011 в 18:19)   письмо автору
 
   для: usa   (12.12.2011 в 18:17)
 

Извлекаются они всегда в одном и том же порядке?

  Ответить  
 
 автор: usa   (12.12.2011 в 18:42)   письмо автору
 
   для: cheops   (12.12.2011 в 18:19)
 

да в одинаковом.
Как прописано так и выводятся
<div align="center"><a href="http://www.usca.ru" target="_blank">
<img src="banners/ulyanovck_gsha.gif"  alt="Ульяновская ГСХА"  width="160" height="70" align="center"></a></div><br>

<div align="center"><a href="http://www.vvsu.ru" target="_blank">
<img src="banners/vladivostok_vgues.gif"  alt="Владивостокский государственный университет экономики и сервиса" 
 width="160" height="70" align="center"></a></div><br>

<div align="center"><a href="http://ami-map.ru" target="_blank"> 
<img src="banners/ami.gif"  alt="Академический международный институт"  width="160" height="70" align="center"></a></div><br>

  Ответить  
 
 автор: usa   (13.12.2011 в 17:15)   письмо автору
 
   для: usa   (12.12.2011 в 18:42)
 

видно что-то не так тут

  Ответить  
 
 автор: Valick   (13.12.2011 в 17:49)   письмо автору
 
   для: usa   (12.12.2011 в 17:40)
 

Для тех кто не понимает для чего создан форум:
Вы задаете вопрос, я даю на него ответ.
Но в вашем случае мой ответ порождает еще 10 вопросов с вашей стороны, как думаете почему?
___
настал момент истины... а точнее моего коронного вопроса
какой литературой пользуетесь, приведите список книг по РНР

  Ответить  
 
 автор: usa   (13.12.2011 в 19:07)   письмо автору
 
   для: Valick   (13.12.2011 в 17:49)
 

Прошел курсы Попова, реализовал пару сайтов.
Пытался читать книгу по PHP (перевод), но там нашел много воды.
Сейчас читаю http://softtime.ru/bookphp/gl1_3.php
Но книга не дает ответа на текущие вопросы, ответы на которые я ищу на форуме.

  Ответить  
 
 автор: Valick   (13.12.2011 в 20:31)   письмо автору
 
   для: usa   (13.12.2011 в 19:07)
 

Прошел курсы Попова
вот теперь и пожинаете плоды
поверьте ни хрена вы не реализовали... вы взяли код Попова и подставили свои буковки
Сейчас читаю http://softtime.ru/bookphp/gl1_3.php
это было написано во времена царя гороха, и это нельзя назвать книгой это как ни крути мини-справочник
естественно вы там не найдете ничего полезного по одной простой причине... вы не знаете что искать
просто сходите в книжный магазин и купите книгу либо авторов этого форума И.В.Симдянов М.В. Кузнецов либо еще Д. Котеров у которого описано посложнее, но тоже есть чему поучиться.
никакой форум не даст вам тех знаний которые дадут хорошие книги

  Ответить  
 
 автор: usa   (13.12.2011 в 22:03)   письмо автору
 
   для: Valick   (13.12.2011 в 20:31)
 

у вас там много книг. какую книгу порекомендуете?
http://softtime.ru/php5/index.php

  Ответить  
 
 автор: Valick   (13.12.2011 в 22:19)   письмо автору
 
   для: usa   (13.12.2011 в 22:03)
 

не у меня :) я такой же участник форума как и вы
в порядке возрастания сложности
1 http://softtime.ru/php5/?id_article=117
2 http://softtime.ru/php5/?id_article=118
3 http://softtime.ru/sql/?id_article=84
ну если заказывать по инету, то можно для начала эти
но можете пойти в ваш книжный магазин и посмотреть что есть в наличии по факту (РНР и MySQL)
перепишите названия и авторов я смогу наверно посоветовать (у меня около 10 книг по РНР)

  Ответить  
 
 автор: usa   (14.12.2011 в 04:17)   письмо автору
 
   для: Valick   (13.12.2011 в 22:19)
 

вот за это спасибо и не только за это.
Писать на форуме не перестану не только потому что учу еще "арифметику", а потому что нахожу на форуме ответы на свои вопросы. Разумеется, это долгий путь, но все равно это движение.
Уважаемый Valick, если вы пишите: "я перестал давать автору какие либо советы, по одной простой причине, у него отсутствую даже базовые знания, я просто не в состоянии объяснить ход своих мыслей
это очень хорошо что человек задает много вопросов, вот только пока рано задавать именно такие вопросы, это все равно что в первом класе задавать вопросы по высшей математике
", то могли бы вы быть более конкретным и написать какой раздел высшей математики нужно знать, чтобы решить поставленную задачу, ибо чтобы решать производные, совсем не обязательно знать теорию вероятностей.
Книга - это хорошо, изучать надо, но сайт уже существует, нельзя же просто выпасть на 2-3 месяца.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования