2013-06-06 2 views
0

У меня есть X количество изображений, но только пространство для отображения по одному на моей домашней странице.Поверните изображения равномерно

Я хотел бы повернуть их, но не в режиме слайд-шоу, а не обновляться.

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

Я предполагаю, что нет способа сделать это без отслеживания/проверки просмотров в db? что он не должен быть совершенным, просто разумно распределенным.

+0

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

+0

случайным образом, но предотвратить две строки – Quadrant6

ответ

2

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

session_start(); 
$images = ['/img1.jpg','/img2.jpg']; // <-- Define your images here 
if (!isset($_SESSION["images"])){ 
    shuffle($images); 
    $_SESSION["images"] = $images; 
    $_SESSION["current_image"] = 0; 
} else { 
    $_SESSION["current_image"]++; 
} 
$next_offset = $_SESSION["current_image"]%count($_SESSION["images"]); 
$featured_image = $_SESSION["images"][$next_offset]; 
+0

Спасибо, я действительно не думал о сеансах. Это хорошее решение, поскольку я не хотел использовать базу данных в этом экземпляре. – Quadrant6

+0

Я предполагаю, что это будет работать для равномерной замены после того, как будет показано первое, но первая загрузка все равно должна быть случайной. Итак, что можно добавить, это отслеживание просмотров по каждому объявлению, и когда страница/сессия загружается впервые, сначала отображается первая с листинговыми видами? – Quad6

+0

, если не посеяно, список получает семена с перетасованным массивом, поэтому случайный порядок устанавливается до начала первого. добавление отслеживания должно быть тривиальным. – Orangepill

Смежные вопросы