Random Products on Front Page

By | April 18, 2008

Almost daily, I see this question asked in the osCommerce Forum…

How can I have 9 random products showing in the the “New Products For…” box in the front page of my osCommerce site?

The answer is really, really simple – you need to change the SQL that selects the 9 products, like this;

Open up /includes/modules/new_products.php


[php]p.products_date_added desc[/php]

Change to:


Upload the file and refresh your index page. You’ll get 9 random products rather than the last 9 added/amended products. A better option in my opinion would be to add a “Featured Products” contribution, as I think that no customer wants to see Random Products.

15 thoughts on “Random Products on Front Page

  1. Ron Wilmot

    I tried the script, but I still see the same old products that stay until I load something different. It made no difference. Not sure if I did something wrong.
    I used Front Page.

    Inaddition, my site is slower than molasses and I have been making lots of modifications and could use some help and or advise to improve the speed.



  2. Gary Post author

    Ron – never ever use a wusiwyg editor with oscommerce files. Try ultrapad or textpad or any other text editor…

    Make sure that your site uses that particular module to show the new_products, and make sure that no other contribution is contaminating it (eg featured products).

    For speeding up, it’s a case of applying some code changes, making sure images are small, using 2 sizes of image if necessary, eliminatin html as much as possible. I wrote a short tutorial on it.

  3. Gary Post author

    includes/languages/english/index.php to change that text

  4. Alain

    I tried to do it, but I can’t find “p.products_date_added desc”.
    I do find “p.products_date_added desc limit” few times in that page.
    And my frontpage shows 12 items.
    I have osc 2.3.1.
    Maybe that’s why?

  5. Alain

    There actually 12 items in the frontpage.
    Is it possible to se more items on that page?
    thank you.

  6. Gary Post author

    This is a setting in your admin area. That is assuming the template has been correctly coded, which a lot of template are not!

  7. Alain

    regarding that, is it possible that products of only one category that I will choose will appear on the front page.
    thank you.

  8. Gary Post author

    Hi Angela – yes, it can cause issues for larger databases. Instead of a simple ‘rand()’ you could try ‘and rand()>0.9 order by rand()’

    A simple rand(), if that is not quick enough, then you would need to optimise all parts of your osCommerce shop anyway.

  9. Gary Post author

    Change the SQL code in the new_products module, to look for products from X category rather than new_products_category_id

  10. Martin


    Is there a way of having a random list of products but they are only randomised every, say, week? So they’re not mixed up every refresh but every week.



  11. Gary Post author

    Martin, that would certainly be possible, what you would need is some type of script that sets a timer, and a “cache” facility based on the timer script. That would not be a lot of work, if interested, email me. oscshops AT gmail DOT com

Leave a Reply

Your email address will not be published.