The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
программка ротации картинок, !*! visitor, 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) уверен, что можно сделать намного проще :))) а то конца такой программки не видно:) помогите плиз ламеру.
Заранее спасибо.

  • программка ротации картинок, !*! Vladin, 21:54 , 14-Ноя-09 (1)
    студент ? :)
    ладно, поможем, ведь сам уже пытался что-то сделать
    вот вариант, первая картинка по рендому

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

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

    • программка ротации картинок, !*! visitor, 23:29 , 14-Ноя-09 (2)
      >[оверквотинг удален]
      >
      >$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>";

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

      • программка ротации картинок, !*! Vladin, 00:51 , 15-Ноя-09 (3)
        попробую обьяснить свой код

        // случайным образом выбираем стартовую картинку
        $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; }
        }




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

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