После успешного ajax ... как перепроверить условие php if-else без обновления страницы - PullRequest
0 голосов
/ 20 декабря 2018

когда я нажимаю кнопку "Добавить в корзину" ... 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>

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

1 Ответ

0 голосов
/ 20 декабря 2018

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...