как я могу добавить товары в корзину, не обновляя список товаров?

#php

#php

Вопрос:

Я создал простую функцию корзины покупок, но теперь у меня 2 проблемы. 1. мой список товаров настолько велик, что моя корзина и мой список товаров находятся на одной странице. Когда посетитель нажимает на кнопку добавить, перезагрузка занимает слишком много времени, как заставить это работать без обновления страницы товара, я имею в виду добавление товара в корзину без обновления страницы товара? И моя вторая проблема в том, что мне нужна функция обновления ассортимента товара, как я могу создать функцию обновления товара из этой функции корзины? Вот мой код

 <?php 
session_start();

$page = 'producst.php';


// my add function
if (isset($_GET['add'])) {
    $quantity = mysql_query('SELECT id, quantity FROM products WHERE id='.mysql_real_escape_string((int)$_GET['add']));
    while ($quantity_row = mysql_fetch_assoc($quantity)) {
        if ($quantity_row['quantity']!=$_SESSION['cart_'.(int)$_GET['add']]){
            $_SESSION['cart_'.(int)$_GET['add']] ='1';
        }
    }
    header('Location: '.$page); 
}


// my product list function
function products(){
    $result = '';
    $get = mysql_query('SELECT id, name, description, price FROM products WHERE quantity > 0 ORDER BY id DESC');
    if (mysql_num_rows($get)==0) {
    }else{
         while ($get_row = mysql_fetch_assoc($get)) {
             $result .= '<p>'.$get_row['name'].'<br />'.$get_row['description'].'<br />amp;pound;'.$get_row['price'].' <a href="cart.php?add='.$get_row['id'].'">add</a></p>';
             }
    }
    return $result;
}

// my cart function
function cart() {
    $result = '';
    foreach($_SESSION as $name => $value){
        if ($value>0) {
            if (substr($name, 0, 5)=='cart_') {
                $id = substr($name, 5, (strlen($name)-5));
                $get = mysql_query('SELECT id, name, price FROM products WHERE id='.mysql_real_escape_string((int)$id));
                while ($get_row = mysql_fetch_assoc($get)) {
                    $sub = $get_row['price']*$value;
                    $result .= $get_row['name'].' x '.$value.' @ amp;pound;'.$get_row['price'].' = amp;pound;'.$sub.'<br />';
                }
            }
        }
    }
    return $result;
}
?>
  

Ответ №1:

Вам пришлось бы использовать JavaScript и AJAX для отправки запросов вашему PHP-скрипту без перезагрузки страницы. PHP запускается на вашем сервере, в то время как JavaScript запускается в браузере и взаимодействует с ним.

Проведите некоторое исследование об AJAX (посмотрите на фреймворк jQuery, если хотите).

Комментарии:

1. можете ли вы предоставить код javascript, который выполняет запрос к php, без перезагрузки, потому что я новичок и сейчас учусь. я пытался загрузить jquery, но это выбивает меня из колеи и у меня не работает.