После успешного ajax … как перепроверить условие php if-else без обновления страницы

когда я нажимаю кнопку «добавить в корзину» … ajax успешно добавить товар в базу данных. и в результате он должен снова перепроверить php if-else условие. Но это не так. Однако после обновления страницы, которая вызывает повторное подключение к БД, происходит обновление информации. Вот код php:

<?php
if(isset($products) && is_array($products) && count($products)){
$i=1;
foreach ($products as $data) { ?>

<div class="col-lg-3 col-md-4 col-sm-6" ">
<div class="tile">
<img class="prod_image"  src="<?php echo base_url(); ?>../upload/<?php echo $data['image'] ?>">
<div class="prod_detail">
<p class="prod_name"><?php echo $data['name'] ?></p>
<p class="prod_name"><?php echo $data['weight'] ?></p>
<p class="prod_name"><?php echo $data['price'] ?></p>

<?php

//if product already add in cart
$isincart = get_product_from_cart($data['id']);

if($isincart < 1) { ?>

<button class="btn btn-primary" onclick="addtocart(<?= $data['hid'];?>,<?= $data['weight'];?>,<?= $data['price'];?>)">Add to cart</button>


<?php } if ($isincart > 0){

?>

<div id="prod_quant" class="add_btn_sec">
<form id="myform" method="POST" action="javascript:void(0)">
<input type="submit" onclick="quantitydec(<?= $data['id']; ?>)" value="-" class="qtyminus" field="quantity<?= $data['id']; ?>">

<input type="text" id="quantity<?= $data['id']; ?>" name="quantity<?= $data['id']; ?>" value="<?php echo ($isincart) ; ?>" class="qty">

<input type="submit" onclick="quantityinc(<?= $data['id']; ?>" value="+" class="qtyplus" field="quantity<?= $data['id']; ?>">
</form>
</div>


<?php
}
?>

</div>
</div>
</div>

<?php } $i++; } ?>

и сценарий AJAX здесь

<script type="text/javascript">
function addtocart(p_id,p_weight,p_price)
{
$.ajax({
type: "POST",
url: "<?php echo site_url('index.php/addtocart/addtocart_ajax');?>",
data: {'id': id, 'name': name, 'p_wight': p_weight, 'p_price': p_price},
dataType: 'JSON',
success: function(response){
/*do something here*/
}
});
}

</script>

Может кто-нибудь предложить мне, как перепроверить «если ($ isincart < 1) состояние без обновления страницы?

-1

Решение

Прежде всего,
PHP — это язык на стороне сервера. Коды PHP интерпретируются на сервере перед отправкой HTML-файла в браузер. Обратите внимание, что браузер не может интерпретировать php-коды.

Сейчас AJAX — Ajax — это клиентский сценарий, который взаимодействует с сервером / базой данных и без них, не требуя полного обновления страницы. Лучшее определение, которое я прочитал для Ajax, — это «метод обмена данными с сервером и обновления частей веб-страницы без перезагрузки всей страницы».

Теперь перейдем к вашему вопросу: если вы хотите запустить php-код после успеха AJAX, вам нужно будет отправить еще один AJAX-запрос в качестве функции успеха первого AJAX-запроса.

Надеюсь, это имеет смысл.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector