I am planning on creating a website with one of my friends. Both of us know next to 
nothing of coding and programming. We are planning to display hundreds, potentially thousands
of images on this website. **These images will have a short description**, and will not be user uploaded, but we may potentially want to implement an option to save the favorite images.

There will be a button that randomizes the images shown (**one image at a time**). Users will click this button and it will randomize from all the images, displaying a new one on the screen **replacing the old one**. Is it possible to write code that makes it so it will display a new random image, but not repeat the same image until it has cycled through all of the images (potentially thousands)?

Just from browsing the web, looking at tutorials, and reading some other stuff we've have a general idea of what needs to be done. We need to **store the images as files on a server**, and **store the description of the images and file path on a database**. To create the button function we use javascript(?) and write a script that will randomize. Someone mentioned JSON but I don't know what that is.

Are we on the right track? We are both currently looking into **PHP**. Although we have a general idea of what needs to be done, we don't know where to start as far as tying this whole project together.We are trying to figure out how to start saving the images as files, and implementing them into the database but don't really know how.

tl;dr We would like some guidance on where to go with this, how we can possibly tie all of this together, and if we have the right idea of what to do.

Learning this stuff out of the blue can seem kind of overwhelming at first, that is why I'm extremely grateful for all the advice and answers.