It looks like you want to build a recommendation engine, more specifically collaborative filtering. It is an example of how Amazon recommends products to users based on previous orders and Netflix recommends movies based on recent search history.
If I’d be more specific, You don't:
want to recommend items that are already in the basket.
want to recommend cheaper versions of the things that are already in the basket.
want to recommend items that are out of stock.
want to recommend items that are statistically valid, but make no sense
The above mentioned are cases that you can also build using machine learning, But your problem is different from them as I can understand. You want to recommend items that are in promotion right now.
I think these are the options for you:
manually maintain the related products. Time-consuming, but clear way.
use either SaaS or include a library like R which supports this.
recommend (semi)random products. Have a set of products you want to recommend, and pick one at random - for instance, products on promotion, products which are in the "best seller" list, products which cost less than x. Exclude categories that could be problematic.
All those options are achievable in a reasonable time; the problem with building a proper solution from scratch is that everyone will measure it against Amazon, and they've got a bit of a head start on you.
If you want to know about What is R Programming then visit this R Programming Course.