21288 Posts in 5733 Topics by 2602 members
|
Page:
1
|
Go to End | |
| Author | Topic: | 358 Views |
-
Random Images from Gallery Albums

16 March 2012 at 1:37am Last edited: 16 March 2012 1:39am
Hi,
I am using the following code to fetch 6 random images from all the albums located in one gallery, but sometimes I am getting 3 random images, sometimes 4 and soon. It is not always 6 random images.
What I am doing wrong?
function GalleryImages() {
$gallery = DataObject::get_one("ImageGalleryPage");
$items = DataObject::get("ImageGalleryItem","ImageGalleryPageID = {$gallery->ID}","RAND()",null,6);
return $gallery->GalleryItems(null,$items);
} -
Re: Random Images from Gallery Albums

19 March 2012 at 9:01am
Why are you doing return $gallery->GalleryItems(null,$items);
and not just: return $items;Sorry if it's not a help, i just got curious :o)
-
Re: Random Images from Gallery Albums

19 March 2012 at 9:54am
ss-ss,
This is probably because RAND() is returning numbers outside of the range in which gallery items exist within your gallery.
I would run:
$items = DataObject::get("ImageGalleryItem","ImageGalleryPageID = {$gallery->ID}");
To return all of your images, first.
Then put the id's of the $items in to an array.
Then use shuffle on the array ( http://nz.php.net/shuffle )
Then inside a for loop (limited to 6), run DataObject::get_by_id inside the loop using the shuffled id's, append each result to a new DataObjectSet thenm return that at the end of your function.
Good luck!
| 358 Views | ||
|
Page:
1
|
Go to Top |


