У вас должно быть две реляционные таблицы в базе данных.
Купоны имеют разные значения скидок?
Возможно, у вас есть таблица coupons
с идентификатором, кодом, скидкой, и вы можете хранить код купонов, разделенных запятой, в поле code
, например, (ABC, BBC, CCS) или по одному на строку.
если пользователь вводит идентификатор купона в поле ввода, проверьте его в базе данных, прочитайте discount
и сделайте $ final_price = $ price * $ discount (при условии, что вы сохраните скидку как 0.2 (для 20%) и т. Д. вкл.
Если вы хотите, чтобы коды купонов через запятую делали это, управляйте ими:
$discount = 1;
while ( $var = mysql_fetch_assoc($result)) {
$coupon = explode(',', $var['code']);
$count = count($coupon);
for ($i = 0; $i <= $count; $i++) {
if($_POST['input_coupon'] == $coupon[$i]) { $discount = $var['discount'] }
}
и тогда вы $ final_price = $ цена * $ скидка;
Вы можете поместить его в запрос AJAX POST и вуаля;
Или используйте одну строку с каждым кодом купона, и это проще.
Или выполните запрос JOIN (таблицы, связанные по id), чтобы упростить процесс.