Я пытаюсь создать страницу корзины. Есть много продуктов, которые требуют от вас выбора цикла выставления счетов, например, ежемесячно, раз в полгода, ежегодно с помощью выпадающего списка. Когда мы выбираем цикл выставления счета за товар, он автоматически обновляет цену, отображаемую на странице, без ссылки sh.
Допустим, я получаю цену товара из массива PHP, используя это.
$price['monthly'];
$price['quarterly'];
$price['semi-annually'];
$price['annually'];
Теперь, когда я получаю значение из раскрывающегося списка, я сохраняю его в $billing
, чтобы сохранить его в виде цикла выставления счетов, например, ежемесячно, ежеквартально, раз в полгода и т. Д. c. Затем я использую js для отправки опции выбора, как только они выбирают раскрывающийся список, и выбранное значение раскрывающегося списка появляется в $billing
.
Я использую: echo $price['$billing'];
, чтобы показать цену продукта. Но все это происходит с помощью refre sh страницы.
Я дал код того, что я делаю ниже:
Здесь $price
- массив, содержащий цену товара , $symbol
- код валюты, $currency
- валюта. В итоге я отобразил ссылку и обновил отображаемую цену.
Я пытаюсь отобразить цену продукта в соответствии с биллингом и обновить ссылку на странице без ссылки sh. Я также сталкиваюсь с проблемой, что если я использую несколько раскрывающихся списков для одной и той же вещи на моей веб-странице. Тогда работает только первый выпадающий список, а два других не работают даже после refre sh. Я написал этот код по вдохновению из многих мест, я могу ошибаться, и может быть более простой способ реализовать это. Я ищу, чтобы оптимизировать это. Пожалуйста, помогите
Возможно ли это? Если да, то как?
PHP:
<?php
// Set Billing variable
if(isset($_GET['billing']) && !empty($_GET['billing']))
{
$_SESSION['billing'] = $_GET['billing'];
if(isset($_SESSION['billing']) && $_SESSION['billing'] != $_GET['billing'])
{
echo "<script type='text/javascript'> location.reload(); </script>";
}
}
// Include Billing file
if(isset($_SESSION['billing'])){
$billing= $_SESSION['billing'];
}else{
$billing='monthly';
}
$currency='USD';
$symbol='$';
?>
<!--Change Billing Cycle-->
<script>
function changeBilling(){
document.getElementById('form_billing').submit();
}
</script>
HTML:
<form method='get' action='' id='form_billing' >
<select name='billing' onchange='changeBilling();'>
<option value='monthly' <?php if(isset($_SESSION['billing']) && $_SESSION['billing'] == 'monthly'){ echo "selected"; } ?> >
<?php echo $symbol; echo round( str_replace('.00', '', $price['monthly']), 2 ); echo " "; echo $currency;?> Monthly
</option>
<option value='quarterly' <?php if(isset($_SESSION['billing']) && $_SESSION['billing'] == 'quarterly'){ echo "selected"; } ?> >
<?php echo $symbol; echo round( str_replace('.00', '', $price['quarterly']), 2 ); echo " "; echo $currency;?> Quarterly
</option>
<option value='semiannually' <?php if(isset($_SESSION['billing']) && $_SESSION['billing'] == 'semiannually'){ echo "selected"; } ?> >
<?php echo $symbol; echo round( str_replace('.00', '', $price['semiannually']), 2 ); echo " "; echo $currency;?> Semi-Annually
</option>
<option value='annually' <?php if(isset($_SESSION['billing']) && $_SESSION['billing'] == 'annually'){ echo "selected"; } ?> >
<?php echo $symbol; echo round( str_replace('.00', '', $price['annually']), 2 ); echo " "; echo $currency;?> Annually
</option>
<option value='biennially' <?php if(isset($_SESSION['billing']) && $_SESSION['billing'] == 'biennially'){ echo "selected"; } ?> >
<?php echo $symbol; echo round( str_replace('.00', '', $price['biennially']), 2 ); echo " "; echo $currency;?> Biennially
</option>
<option value='triennially' <?php if(isset($_SESSION['billing']) && $_SESSION['billing'] == 'triennially'){ echo "selected"; } ?> >
<?php echo $symbol; echo round( str_replace('.00', '', $price['triennially']), 2 ); echo " "; echo $currency;?> Triennially
</option>
</select>
</form>
<?phpecho $price[$billing];
echo '<br>';
?>
<a href="<?php echo 'https://example.com/index.php?currency=';echo $currency; echo '&billingcycle=';echo $billing; ?>Click here to purchase</a>
An пример изображения того, что я пытаюсь сделать: