помогите с корзиной пожалуйста
Страницы: 1
помогите с корзиной пожалуйста
помогите с php
Есть скрипт корзины в интернет магазине. Хотелось бы добавить в него функцию выбора региона доставки и вывода суммы в соответствии выбранным регионом. И соответственно функцию пересчета общей стоимости покупки. Может кто пример хотя бы покажет, может сам разберусь. Всем спасибо.
Your way -- Drupal Way
может скрипт хоть выложишь? а то каждый по разному пишет, и я сомневаюсь, что если ты этого написать не можешь, то разобраться сможешь
smile:D Интересный народ ... Собсна, я Вам дал намёк на чём это проще всего реализовать -- остальное дело ваше.
Цитата
Joker пишет:
Интересный народ ... Собсна, я Вам дал намёк на чём это проще всего реализовать -- остальное дело ваше.


Уже качаю, а вот собственно код:

<?php
if (isset($_GET["shopping_cart"]) || isset($_POST["shopping_cart"]))
{

if (isset($_GET["add2cart"]) && $_GET["add2cart"]>0) //add product to cart with productID=$add
{

$q = db_query("sel ect in_stock fr om ".PRODUCTS_TABLE." where productID='".$_GET["add2cart"]."'") or die (db_error());
$is = db_fetch_row($q); $is = $is[0];

//$_SESSION[gids] contains product IDs
//$_SESSION[counts] contains product quantities ($_SESSION[counts][$i] corresponds to $_SESSION[gids][$i])
//$_SESSION[gids][$i] == 0 means $i-element is 'empty'
if (!isset($_SESSION["gids"]))
{
$_SESSION["gids"] = array();
$_SESSION["counts"] = array();
}
//check for current item in the current shopping cart content
$i=0;
while ($i<count($_SESSION["gids"]) && $_SESSION["gids"][$i] != $_GET["add2cart"]) $i++;
if ($i < count($_SESSION["gids"])) //increase current product's quantity
{
$_SESSION["counts"][$i]++;
}
else //no item - add it to $gids array
{
$_SESSION["gids"][] = $_GET["add2cart"];
$_SESSION["counts"][] = 1;
}

header("Location: index.php?shopping_cart=yes");

}

if (isset($_GET["remove"]) && $_GET["remove"] > 0) //remove fr om cart product with productID == $remove
{
$i=0;
while ($i<count($_SESSION["gids"]) && $_SESSION["gids"][$i] != $_GET["remove"]) $i++;
if ($i<count($_SESSION["gids"])) $_SESSION["gids"][$i] = 0;

header("Location: index.php?shopping_cart=yes");
}

if (isset($_POST["update"])) //update shopping cart content
{

foreach ($_POST as $key => $val)
if (strstr($key, "count_"))
{
//sel ect product's in stock level
$q = db_query("select in_stock fr om ".PRODUCTS_TABLE." wh ere productID='".str_replace("count_","",$key)."'") or die (db_error());
$is = db_fetch_row($q); $is = $is[0];

if ($val > 0)
{
for ($i=0; $i<count($_SESSION["gids"]); $i++)
{
if ($_SESSION["gids"][$i] == str_replace("count_","",$key))
{
$_SESSION["counts"][$i] = floor($val);
}
}
}
else //remove
{
$i=0;
while ($_SESSION["gids"][$i] != str_replace("count_","",$key) && $i<count($_SESSION["gids"])) $i++;
$_SESSION["gids"][$i] = 0;
}
}

header("Location: index.php?shopping_cart=yes");

}

if (isset($_GET["clear_cart"])) //completely clear shopping cart
{
//clear cart
unset($_SESSION["gids"]);
unset($_SESSION["counts"]);

header("Location: index.php?shopping_cart=yes");
}



//shopping cart items count
$c = 0;
if (isset($_SESSION["gids"]))
for ($j=0; $j<count($_SESSION["gids"]); $j++)
if ($_SESSION["gids"][$j]) $c += $_SESSION["counts"][$j];

//not empty?
if (isset($_SESSION["gids"]) && $c)
{
$k = 0; //total cart value
$products = array();
for ($i=0; $i<count($_SESSION["gids"]); $i++)
if ($_SESSION["gids"][$i])
{
$q = db_query("SELECT name, Price, product_code FR OM ".PRODUCTS_TABLE." WH ERE productID='".$_SESSION["gids"][$i]."'") or die (db_error());
if ($r = db_fetch_row($q))
{
$tmp = array("id"=>$_SESSION["gids"][$i], "name"=>$r[0], "quantity"=>$_SESSION["counts"][$i], "cost"=>show_price($_SESSION["counts"][$i]*$r[1]), "product_code"=>$r[2]);

$products[] = $tmp;

$k += $_SESSION["counts"][$i]*$r[1];
}
}

//total...
$smarty->assign("cart_content", $products);
$smarty->assign("cart_total", show_price($k));

}
else
{
$smarty->assign("cart_total", "");
}

$smarty->assign("main_content_template", "shopping_cart.tpl.html");


}
?>
И?
Цитата
Joker пишет:
И?
Что? Чет не то выложил?
Вижу обвязку функционала с выхлопом на смарти ))) Что вы хотели услышать по поводу? Я такими шнягами уже давно стараюсь не работать ...
То о чем Вы просите это не 2-3 строчки кода добавить. В серьезных ИМ такие функции есть по дефолту.
Страницы: 1
Похожие темы:
Читают тему (гостей: 1, пользователей: 0, из них скрытых: 0)
Новые темыОбъявленияСвободное общение
15:59 AI под надзором. Минцифры готовят клеймо для контента 
15:57 Яндекс-ап 20 марта и похороны ChatGPT, Claude и Gemini. Считаем убытки 
22:32 Gambling Craft - гемблинг по белому 
00:12 XEvil - софт для разгадывания капчи. Бесплатная демо-версия. Привязка к SEO/SMM-софту. 
23:11 APK на паузе. Google убивает быстрый конверт 
16:58 MAX попер в бурж: 40 стран, ведение каналов и горы дешевого трафика 
15:38 LOSPOLLOS.COM - Конвертим по рецепту Хайзенберга. Dating, Mainstream, Binary Options 
15:29 CactusPay.PRO | Умная платёжная система с выводом в USDT TRC-20 
14:20 Вериф аккаунты АВИТО + платежи 
14:17 Swapwatch.org — Мониторинг криптовалютных обменников 
08:01 HH.ru Работадателя вериф 
01:42 TUNNEL-to-PROXY: превращает тысячи публичных сетевых конфигураций - в стабильные SOCKS5-прокси! 
23:12 [MOBILE 4G/LTE PROXY] Приватные Мобильные Прокси 30 Дней 10$ Безлим/ Подходят для всех сайтов 
22:38 BestX24 - быстрый и безопасный обменник криптовалют и электронных денежных средств 
16:00 Панель Кнопки соцсетей 
15:54 молодильные яблоки и живая вода 
14:03 Огородники 
09:22 Точные прогнозы на футбол 
18:12 8 марта: желаю аптайма 99.9% и e-e-a-t без локов 
18:11 Чак Норрис ушел - 19 марта 2026, 86 лет, семья подтвердила 
17:28 С юмором по жизни!