Всем привет. Хочу поправить mod_random_image.php ,чтобы он выводил не 1, а 9 картинок в таблицы. Я в php мало чего понимаю, но намудрил такую весчь - в самом низу файла, вместо: Код (CODE): <div align="center"> <?php if ($link) { ?> <a href="<?php echo $link; ?>" target="_self"> <?php } ?> <img src="<?php echo $image; ?>" border="0" width="<?php echo $width; ?>" height="<?php echo $height; ?>" alt="<?php echo $image_name; ?>" /><br /> <?php if ($link) { ?> </a> <?php } ?> </div> воткнул таблицу, и в каждую ячейку скопипастил этот кусок... 9 картинок получил, но проблема в том, что все картинки однинаковые, что нужно дописать, чтобы выводились рандомно разные картинки...?
Меняем примерно так (пишу на коленке, не проверяю): После этого: Код (CODE): if (!$the_image) { echo _NO_IMAGES; } else { Добавляем Код (CODE): shuffle($the_image); for($AAAA=0;$AAAA<9;$AAAA++) { Вот это: Код (CODE): $random = mt_rand(0, $i - 1); Заменяем на: Код (CODE): $random = $AAAA; После этого: Код (CODE): <?php } ?> </div> <?php } Добавляем закрывающую скобку Код (CODE): }
Отлично, работает, спс... P.S. Только теперь не понятно как их загнать в таблицу, чтобы выровнить 3 по 3. Если я копипастю в каждую ячейку код из 1ого поста, то в кадой ячейки получаю 9 картинок Если я ограничиваю Код (CODE): for($AAAA=0;$AAAA<3;$AAAA++) , и в каждый столбец таблицы вставляю код, то я получаю 3 ряда одинаковых картинок. Скрин: http://img113.imageshack.us/img113/985/screento3.jpg
>Если я ограничиваю Дак ты в каждом следующем делай for($AAAA=0;$AAAA<3;$AAAA++) for($AAAA=3;$AAAA<6;$AAAA++) for($AAAA=6;$AAAA<9;$AAAA++) и тэдэ
Заменил Код (CODE): for($AAAA=0;$AAAA<3;$AAAA++) на Код (CODE): for($AAAA=0;$AAAA<3;$AAAA++) for($AAAA=3;$AAAA<6;$AAAA++) for($AAAA=6;$AAAA<9;$AAAA++) ,но видно я чего-то не так делаю, осталось попрежнему...
Да блин. Не три раза одно и тоже for($AAAA=0;$AAAA<3;$AAAA++), а в каждом блоке меняешь цифры начала и конца.
Dead Krolik, может я туплю, но чисто логически, если цифры 0-9 это "номера" картинок, то вроде должно так: 0-1-2 3-4-5 6-7-8
Так и не разобрался как сделать, вот код: Код (CODE): <?php // запрет прямого доступа defined( '_VALID_MOS' ) or die( 'Доступ ограничен' ); global $mosConfig_absolute_path, $mosConfig_live_site; $type = $params->get( 'type', 'jpg' ); $folder = $params->get( 'folder' ); $link = $params->get( 'link' ); $width = $params->get( 'width' ); $height = $params->get( 'height' ); $the_array = array(); $the_image = array(); // if folder includes livesite info, remove if ( strpos($folder, $mosConfig_live_site) === 0 ) { $folder = str_replace( $mosConfig_live_site, '', $folder ); } // if folder includes absolute path, remove if ( strpos($folder, $mosConfig_absolute_path) === 0 ) { $folder= str_replace( $mosConfig_absolute_path, '', $folder ); } // if folder doesnt contain slash to start, add if ( strpos($folder, '/') !== 0 ) { $folder = '/'. $folder; } // construct absolute path to directory $abspath_folder = $mosConfig_absolute_path . $folder; // check if directory exists if (is_dir($abspath_folder)) { if ($handle = opendir($abspath_folder)) { while (false !== ($file = readdir($handle))) { if ($file != '.' && $file != '..' && $file != 'CVS' && $file != 'index.html' ) { $the_array[] = $file; } } } closedir($handle); foreach ($the_array as $img) { if (!is_dir($abspath_folder .'/'. $img)) { if (eregi($type, $img)) { $the_image[] = $img; } } } if (!$the_image) { echo _NO_IMAGES; } else { shuffle($the_image); for($AAAA=0;$AAAA<3;$AAAA++) { $i = count($the_image); $random = $AAAA; $image_name = $the_image[$random]; $abspath_image = $abspath_folder . '/'. $image_name; $size = getimagesize ($abspath_image); if ($width == '') { ($size[0] > 100 ? $width = 100 : $width = $size[0]); } if ($height == '') { $coeff = $size[0]/$size[1]; $height = (int) ($width/$coeff); } $image = $mosConfig_live_site . $folder .'/'. $image_name; ?> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td><div> <?php if ($link) { ?> <a href="<?php echo $link; ?>" target="_self"> <?php } ?> <img src="<?php echo $image; ?>" border="0" width="<?php echo $width; ?>" height="<?php echo $height; ?>" alt="<?php echo $image_name; ?>" /> <?php if ($link) { ?> </a> <?php } ?> </div></td> <td><div> <?php if ($link) { ?> <a href="<?php echo $link; ?>" target="_self"> <?php } ?> <img src="<?php echo $image; ?>" border="0" width="<?php echo $width; ?>" height="<?php echo $height; ?>" alt="<?php echo $image_name; ?>" /> <?php if ($link) { ?> </a> <?php } ?> </div></td> <td><div> <?php if ($link) { ?> <a href="<?php echo $link; ?>" target="_self"> <?php } ?> <img src="<?php echo $image; ?>" border="0" width="<?php echo $width; ?>" height="<?php echo $height; ?>" alt="<?php echo $image_name; ?>" /> <?php if ($link) { ?> </a> <?php } ?> </div></td> </tr> </table> <?php } } } ?> Как прописть для каждого блока таблицы...?