close ad
Databridge V2 with MySQLi support IS Now Available!
open ad
View Menu

Technical Support Forums

Free, outstanding support from WebAssist and your colleagues


Promotions system

Thread began 6/01/2016 9:43 am by Christopher West | Last modified 6/02/2016 1:55 pm by Ray Borduin | 211 views | 3 replies |

Christopher WestCommunity Expert

Promotions system

Hi, I'm just looking for some feedback and advice on a promotions system my client wants to add to her ecommerce website.

Ok so my products table will contain a price field (I was going to include a sale price field but maybe it's not required).

Basically the client what to create a promotion and say select a percentage discount and possibly apply it to all products or maybe by category. So I figured a promotions table that stores the percentage discount as a field, a category field for the category id and then 2 fields for start and end dates.

I guess on the front end pages there is a check to see if there is an active promotion running and then anywhere I am displaying product price I do a php calculation for the discounted price, I then store this as a session and use this session in all my ecart server behaviours. So I would need to do an IF statement to see if a discounted price exists then use that otherwise use the regular price in the ecart server behaviours?

What do you think of this? Is is straight forward enough, or do you think I am missing crucial logic that prevent my idea from working well on the website?

Sign in to reply to this post

Ray BorduinWebAssist

That sounds like a simple enough solution to me.

Sign in to reply to this post

CraigRBeta Tester

Too late ?

Hi Chris

Just noticed this post. If you are interested, here is a table structure I created to allow the client to manage their coupons in a database

`CouponTypeID` smallint(6) NOT NULL,
`CategoryID` int(11) NOT NULL,
`CouponDescription` varchar(100) NOT NULL,
`CouponCode` varchar(50) CHARACTER SET latin1 NOT NULL,
`CouponAmount` double NOT NULL,
`Threshold` decimal(6,2) NOT NULL,
`ValidFrom` date NOT NULL,
`ValidTo` date NOT NULL,
`Active` tinyint(4) NOT NULL,

-- Dumping data for table `tblcoupon`

INSERT INTO `tblcoupon` (`CouponID`, `CouponTypeID`, `CategoryID`, `CouponDescription`, `CouponCode`, `CouponAmount`, `Threshold`, `ValidFrom`, `ValidTo`, `Active`) VALUES
(1, 1, 0, '10% Discount', 'bananas', 0.1, 0.00, '2014-05-03', '2014-06-30', 1),
(2, 1, 0, '20% Discount', 'cheese', 0.2, 66.00, '2014-05-01', '2014-06-30', 1),
(3, 2, 0, '£5 Flat Rate Discount', 'flat', 5, 75.00, '2014-05-01', '2014-06-30', 1),
(4, 4, 1, '11% off Joy Line', 'joy', 0.11, 0.00, '2014-05-01', '2014-06-30', 1),
(5, 3, 0, 'Whole order for a pound', 'itsapound', 1, 0.00, '2014-05-02', '2014-09-04', 1);

To get it working, I just had a recordset on the cart page (or the one with the voucher form) and used the coupon code (and date parameters) as the recordset filter.
If I got a row returned, then i had a valid voucher code, so then I stored the relevant field values in session variables.
these session variables were used in the ecart object

Its a few years old now, but the concept is good

Sign in to reply to this post

Christopher WestCommunity Expert

Hey, thank you for that. I already built a coupon system a while ago which does what I need. My new promotion system is going a step further and allowing the client to create discounted products on either a product by product basis or by category within a given timeframe :)

Sign in to reply to this post

Build websites with a little help from your friends

Your friends over here at WebAssist! These Dreamweaver extensions will assist you in building unlimited, custom websites.

Build websites from already-built web applications

These out-of-the-box solutions provide you proven, tested applications that can be up and running now.  Build a store, a gallery, or a web-based email solution.

Want your website pre-built and hosted?

Close Windowclose

Rate your experience or provide feedback on this page

Account or customer service questions?
Please user our contact form.

Need technical support?
Please visit support to ask a question





Ease of use


security code refresh image

We do not respond to comments submitted from this page directly, but we do read and analyze any feedback and will use it to help make your experience better in the future.

Close Windowclose

We were unable to retrieve the attached file

Close Windowclose

Attach and remove files

add attachmentAdd attachment
Close Windowclose

Enter the URL you would like to link to in your post

Close Windowclose

This is how you use right click RTF editing

Enable right click RTF editing option allows you to add html markup into your tutorial such as images, bulleted lists, files and more...

-- click to close --

Uploading file...