Уважаемые посетители сайта, задающие вопросы вроде "А как прикрутить вашу корзину к сайту?" и т.п. Я не делаю готовых решений, я описываю логику реализации, для каждого отдельного сайта нужно будет дописывать те или иные вещи в любом случае, поэтому если вам очень нужно что-либо прикрутить или приделать, я оказываю платные и бесплатные услуги по консультированию и доработке сайтов. Пишите в форму обратной связи вверху страницы, отвечу всем.
Интернет-магазин. AJAX корзина товаров. Часть 1: PHP функции.
Не так давно решил немного обновить свою серию статей о том, как создать корзину для интернет магазина. В общем, там есть некоторые недоработки, неточности и места, которые я хотел бы изменить, но основной момент – сделать так, чтобы кнопка «Добавить в корзину» работала без перезагрузки страницы. Зачем? Нет предела совершенству… на мой взгляд – это удобно. Сначала надо понять, что нам понадобится для создания корзины интернет-магазина на AJAX:
Первым этапом будет разработка PHP функций для работы корзины. Итак:
$_SESSION["products"] – массив, который отвечает за товары в корзине, структура которого будет такой:
$_SESSION["products"]=array("идентификатор_товара_1"=>array("cost"=>"цена_товара_1", "count"=>"количество_товара_1_в_корзине"), "идентификатор_товара_2"=>array("cost"=>"цена_товара_1", "count"=>"количество_товара_2_в_корзине"), // и т.д) За количество товаров в корзине будет отвечать переменная $_SESSION["products_incart"], за стоимость корзины – переменная $_SESSION["cart_cost"]. С такой организацией массива товаров в корзине проще работать, а именно удалять, изменять и считать количество товаров. Итак, пишем саму функцию: /** * параметры: * $product_id – идентификатор товара * $count – количество добавляемого товара, по умолчанию 1, */ function add_to_cart($product_id, $count=1)) { //проверяем, не был ли добавлен товар в корзину ранее: if (!empty($_SESSION["products"][$product_id]) { //увеличиваем количество на единицу, если товар уже добавлен: $_SESSION["products"][$product_id]["count"]++; } else { //создаем пустой массив, на всякий случай, можно и без него. $_SESSION["products"][$product_id]=array(); //извлекаем цену товара из базы данных: $q=”SELECT price FROM таблица_товаров WHERE id="$product_id"”; //разбиваем результат запроса в массив: $add_product=mysql_fetch_assoc(mysql_query($q)); //добавляем товар в корзину: $_SESSION["products"][$product_id]["cost"]=$add_product["price"]; $_SESSION["products"][$product_id]["count"]=$count; } /* вызываем функции для подсчета стоимости корзины и количества товаров. здесь я опять внесу изменение, будем считать не количество товаров в корзине, а количество самих товаров, т.е. если в корзине 5 единиц товара 1, и 2 – товара 2, то товаров в корзине – 2, а не 7. И еще один момент, лучше всего объединить в одну функцию подсчет суммы корзины и количества товаров в ней: update_cart() */ update_cart(); } Функция для добавления товара в корзину готова.
Вот и все, функции для работы с корзиной готовы, осталось вывести на странице список товаров, и сделать кнопки «Добавить в корзину». Лучше всего представленные функции поместить в один файл, например cart.php, и подключать его инструкцией include. Стоит оговориться, что дополнительную переменную $count в функции add_to_cart() я ввел на тот случай, если вы хотите чтобы пользователь определял количество товара при нажатии на кнопку добавить в корзину, а не в интерфейсе корзины. Дальше я не буду передавать значения этой переменной, а буду использовать значение по умолчанию, которое равно 1. В следующей статье мы будем создавать основное – JavaScript функции для работы с корзиной.
Я пытаюсь создать простую корзину покупок PHP с ценами, продуктами, регистрацией и областью оформления. Я искал Google для учебных пособий, но все они включают SQL, который еще не входит в мой набор навыков. У кого-нибудь есть примеры или другие ресурсы учебника, которые вы могли бы назвать новичком PHP?
Снова просто пытается создать простую корзину покупок PHP (без SQL) с использованием массивов для продуктов, функций для различных задач программы, проверки формы, файлов cookie/сеансов для непрерывности корзины, файлов шаблонов и писем с подтверждением/получением.
Заранее благодарим за помощь!
3 ответа
Вместо того, чтобы критиковать, почему бы просто не помочь? Лицемерный, но что угодно. Пожалуйста, имейте в виду, без базы данных SQL вы не можете "зарегистрироваться", но вы можете иметь предварительные имена пользователей и пароли.
Итак, давайте создадим вашу базу псевдо sql с php.
Нам нужна таблица для хранения имен пользователей и паролей для вашей учетной записи.
Теперь нам нужна таблица для хранения продуктов
Таким образом, у нас есть наши продукты "таблица" и наша учетная запись "таблица". Теперь вот более сложная часть, которая создает систему, которая принимает всю эту информацию, отображает ее, позволяет войти и выйти из системы, а также отслеживает элементы, которые у вас есть в корзине.