The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"программка ротации картинок"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы WEB технологии (Public)
Изначальное сообщение [ Отслеживать ]

"программка ротации картинок"  +/
Сообщение от visitor (??) on 14-Ноя-09, 20:58 
программка ротации картинок

здравствуйте.
нужна была программка на пхп, делающая ротацию 15 картинок таким образом, чтобы на странице после каждого рефрефа 1-ая картинка перемещалась на 2-ое место, 2-ая - на место 3-ей картинки, 3-ья на место 4-ой картинки, 15-ая  - на место 1-ой... и т.д.
написал следующее:

$r1="<span class=\"tbl\"><IMG $picvars src=\"$pic1\"><b>$t1</b>
<i>$m1</i></span>";
$r2="<span class=\"tbl\"><IMG $picvars src=\"$pic2\"><b>$t2</b>
<i>$m2</i></span>";
$r3="<span class=\"tbl\"><IMG $picvars src=\"$pic3\"><b>$t3</b>
<i>$m3</i></span>";
$r4="<span class=\"tbl\"><IMG $picvars src=\"$pic4\"><b>$t4</b>
<i>$m4</i></span>";
$r5="<span class=\"tbl\"><IMG $picvars src=\"$pic5\"><b>$t5</b>
<i>$m5</i></span>";
$r6="<span class=\"tbl\"><IMG $picvars src=\"$pic6\"><b>$t6</b>
<i>$m6</i></span>";
$r7="<span class=\"tbl\"><IMG $picvars src=\"$pic7\"><b>$t7</b>
<i>$m7</i></span>";
$r8="<span class=\"tbl\"><IMG $picvars src=\"$pic8\"><b>$t8</b>
<i>$m8</i></span>";
$r9="<span class=\"tbl\"><IMG $picvars src=\"$pic9\"><b>$t9</b>
<i>$m9</i></span>";
$r10="<span class=\"tbl\"><IMG $picvars src=\"$pic10\"><b>$t10</b>
<i>$m10</i></span>";
$r11="<span class=\"tbl\"><IMG $picvars src=\"$pic11\"><b>$t11</b>
<i>$m11</i></span>";
$r12="<span class=\"tbl\"><IMG $picvars src=\"$pic12\"><b>$t12</b>
<i>$m12</i></span>";
$r13="<span class=\"tbl\"><IMG $picvars src=\"$pic13\"><b>$t13</b>
<i>$m13</i></span>";
$r14="<span class=\"tbl\"><IMG $picvars src=\"$pic14\"><b>$t14</b>
<i>$m14</i></span>";
$r15="<span class=\"tbl\"><IMG $picvars src=\"$pic15\"><b>$t15</b>
<i>$m15</i></span>";

$num = Rand (1,15);
switch ($num) {
case 1:
echo $r1;
echo $r2;
echo $r3;
echo $r4;
echo $r5;
echo $r6;
echo $r7;
echo $r8;
echo $r9;
echo $r10;
echo $r11;
echo $r12;
echo $r13;
echo $r14;
echo $r15;
break;
case 2:
echo $r15;
echo $r1;
echo $r2;
echo $r3;
echo $r4;
echo $r5;
echo $r6;
echo $r7;
echo $r8;
echo $r9;
echo $r10;
echo $r11;
echo $r12;
echo $r13;
echo $r14;
break;
case 3:
echo $r14;
echo $r15;
echo $r1;
echo $r2;
echo $r3;
echo $r4;
echo $r5;
echo $r6;
echo $r7;
echo $r8;
echo $r9;
echo $r10;
echo $r11;
echo $r12;
echo $r13;
break;
case 4:
echo $r13;
echo $r14;
echo $r15;
echo $r1;
echo $r2;
echo $r3;
echo $r4;
echo $r5;
echo $r6;
echo $r7;
echo $r8;
echo $r9;
echo $r10;
echo $r11;
echo $r12;
break;
case 5:
echo $r12;
echo $r13;
echo $r14;
echo $r15;
echo $r1;
echo $r2;
...

1) она не работает как надо.
2) уверен, что можно сделать намного проще :))) а то конца такой программки не видно:) помогите плиз ламеру.
Заранее спасибо.

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "программка ротации картинок"  +/
Сообщение от Vladin (ok) on 14-Ноя-09, 21:54 
студент ? :)
ладно, поможем, ведь сам уже пытался что-то сделать
вот вариант, первая картинка по рендому

$index = rand(1,15);
for( $i=0; $i<15; $i++ ) {
  // тут вывод строки с картинкой
  print $index++;
  if( $index > 15 ) { $index = 1; }
}

а чтобы сдвигать каждый раз на 1, надо сохранять текущий индекс в файл или БД

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "программка ротации картинок"  +/
Сообщение от visitor (ok) on 14-Ноя-09, 23:29 
>[оверквотинг удален]
>
>$index = rand(1,15);
>for( $i=0; $i<15; $i++ ) {
>  // тут вывод строки с картинкой
>  print $index++;
>  if( $index > 15 ) { $index = 1; }
>}
>
>а чтобы сдвигать каждый раз на 1, надо сохранять текущий индекс в
>файл или БД

все равно не дошло, как вывести рандомно 15 картинок :(((
мне нужно не одну картинку меняющуяся 15 раз при каждом рефреше а 15 картинок меняющихся между собой местами...

я наверно плохо объяснил. задача в том чтобы рандомно выводить строки
$r1="<span class=\"tbl\"><IMG $picvars src=\"$pic1\"><b>$t1</b>
<i>$m1</i></span>";
$r2="<span class=\"tbl\"><IMG $picvars src=\"$pic2\"><b>$t2</b>
<i>$m2</i></span>";
$r3="<span class=\"tbl\"><IMG $picvars src=\"$pic3\"><b>$t3</b>
<i>$m3</i></span>";
...
$r15="<span class=\"tbl\"><IMG $picvars src=\"$pic15\"><b>$t15</b>
<i>$m15</i></span>";

за счет этого мы имеем меняющиеся местами картинки на странице.
в моем первом посте это работает - но как вы правильно выразились, программа больше похожа на студенческую.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "программка ротации картинок"  +/
Сообщение от Vladin (ok) on 15-Ноя-09, 00:51 
попробую обьяснить свой код

// случайным образом выбираем стартовую картинку
$index = rand(1,15);

// цикл выполняется 15 раз
// т.е. выводится 15 картинок по очереди index, index+1, index+2 etc
// и с переносом на 1-ую если вышли за границу (15)
for( $i=0; $i<15; $i++ ) {
  // тут вставь вывод строки с картинкой, в переменной $index номер текущей картинки
  // формируй нужный код html для отображения
  $index++; // увеличиваем номер картинки
  if( $index > 15 ) { $index = 1; } // если зашли за границу 15, переходим на 1
}

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

если есть сложности с параметрами в картинке, можно сделать "влоб"
вместо 15 переменных
$r1="<span class=\"tbl\"><IMG $picvars src=\"$pic1\"><b>$t1</b><i>$m1</i></span>";
...
$r15="<span class=\"tbl\"><IMG $picvars src=\"$pic15\"><b>$t15</b><i>$m15</i></span>";

запихнуть все в массив
$r[1]="<span class=\"tbl\"><IMG $picvars src=\"$pic1\"><b>$t1</b><i>$m1</i></span>";
...
$r[15]="<span class=\"tbl\"><IMG $picvars src=\"$pic15\"><b>$t15</b><i>$m15</i></span>";

тогда код будет такой
$index = rand(1,15);
for( $i=0; $i<15; $i++ ) {
  print $r[$index];
  $index++;
  if( $index > 15 ) { $index = 1; }
}

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "программка ротации картинок"  +/
Сообщение от visitor (ok) on 16-Ноя-09, 00:39 
спасибо тебе большое. ты очень помог.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру