Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP: базы данных
Войти
Регистрация
Восстановить пароль
 
roma1998
0 / 0 / 0
Регистрация: 27.10.2014
Сообщений: 63
1

Корзина для интернет-магазина на php и сессиях

27.01.2016, 16:10. Просмотров 473. Ответов 4
Метки нет (Все метки)

Здравствуйте, необходимо разработать корзину товаров для интернет магазина , скажем у меня на сайте есть каталог товаров , у каждого товара есть название , изображение, цена и кнопка в корзину. Все данные о товаре ( изображение , цена и название ) находятся в БД MySQL , думал сделать так что бы при нажатии на кнопку 'В корзину' все эти данные из базы заносились и хранились в сессии и выводились на страницу 'корзина' , также хотел сделать поле для выбора количества товара и его общую стоимость и после оформление заказа . Ниже прилагается код ТОГО что у меня пока что получилось :

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?PHP
    session_start();
 
   include "db_use.php"; // Открываем базу данных
 
    $_SESSION['name_tov'] = $result;
 
    $_SESSION['price'] = $result1;
 
    $_SESSION['count'] = $_POST['count'];
 
$result = mysql_query("SELECT name_tov FROM tovari_katalog WHERE id='5'",$db);
 
$result1 = mysql_query("SELECT cena_tov FROM tovari_katalog WHERE id='5'",$db);
 
$array = mysql_fetch_array($result);
echo " Название товара: ".$array['name_tov'].""; 
echo "Его кол-во ".$_SESSION['count']."<br/>";
 
$array = mysql_fetch_array($result1);
echo "Вы должны заплатить: ".$_SESSION['count'] * $_SESSION['price']." UAH";
    
?>
 
<form method="post">
    Кол-во товара: <input name="count" type="text" size="5"/><br/>
</form>
Ругается на следующие строки:
PHP
1
2
3
4
$result = mysql_query("SELECT name_tov FROM tovari_katalog WHERE id='5'",$db);
$result1 = mysql_query("SELECT cena_tov FROM tovari_katalog WHERE id='5'",$db);
$array = mysql_fetch_array($result);
$array = mysql_fetch_array($result1);
Помогите реализовать корзину или подскажите как лучше это сделать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.01.2016, 16:10
Ответы с готовыми решениями:

PHP, универсальная страница товара для интернет магазина
Делаю сайт - интернет магазин на php + mysql(i). Создал страницу - каталог,...

Корзина для интернет-магазина
Здравствуйте, я новичок и мне очень нужна корзина для моего интернет-магазина....

Простая корзина для интернет магазина
Здраствуйте, сейчас работаю над одним сайтом где необхадима простая корзина для...

Создание интернет магазина PHP+MySQL
Здравствуйте. Ищу материал на эту тему, есть несколько вариантов по которым...

База данных для интернет магазина
помогите нарисовать er диаграмму с таблицами которые будут в бд phpmyadmin,...

4
Jodah
Эксперт PHP
2712 / 2383 / 1014
Регистрация: 01.08.2012
Сообщений: 8,417
27.01.2016, 16:23 2
Цитата Сообщение от roma1998 Посмотреть сообщение
все эти данные из базы заносились и хранились в сессии
Зачем? id и количества достаточно.
0
roma1998
0 / 0 / 0
Регистрация: 27.10.2014
Сообщений: 63
27.01.2016, 16:54  [ТС] 3
Мне нужно вывести только определенные поля ( название и цену , но не изображение , которое хранится там же под тем же id .
0
Jodah
Эксперт PHP
2712 / 2383 / 1014
Регистрация: 01.08.2012
Сообщений: 8,417
27.01.2016, 17:23 4
roma1998, в куках храните id и кол-во, остальное при каждом заходе в корзину подцепляете из БД.
0
roma1998
0 / 0 / 0
Регистрация: 27.10.2014
Сообщений: 63
03.02.2016, 12:35  [ТС] 5
Помогите пожалуйста переделать данный код , нужно сделать что бы информация о товарах выводилась из моей БД по id при нажатии на Добавить в корзину!!!

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<?php
// wfCart Demo
 
// You must included wfcart.php BEFORE you start the session. 
include "wfcart.php";
session_start();      // start the session
 
 
$cart =& $_SESSION['wfcart']; // point $cart to session cart.
if(!is_object($cart)) $cart = new wfCart(); // if $cart ( $_SESSION['cart'] ) isn't an object, make a new cart
 
// end of header stuff
 
?>
<html><head><title>wfCart Demo</title></head>
<body><h3>wfCart Demo</h3>
 
<?
 
// Usually you would get your products from a database but we'll pretend.. 
 
$products = array();
$products[1] = array("id"=>1,"name"=>"A Bar of Soap","price"=>2.00);
$products[2] = array("id"=>2,"name"=>"Shampoo","price"=>4.80);
$products[3] = array("id"=>3,"name"=>"Pizza","price"=>12.95);
 
 
// check to see if any items are being added
if($_POST['add']) {
    $product = $products[$_POST['id']];
    $cart->add_item($product['id'],$_POST['qty'],$product['price'],$product['name']);
}
if($_POST['remove']) {
    $rid = intval($_POST['id']);
    $cart->del_item($rid);
 
}
 
// spit some forms
// You can have many different types of forms, such as many quantity boxes
// and an "add to cart" button at the bottom which adds all items
// but for the purposes of this demo we will handle one item at a time. 
echo "<table>";
foreach($products as $p) {
    echo "<tr><td><form method='post' action='demo.php'>";
    echo "<input type='hidden' name='id' value='".$p['id']."'/>";
    echo "".$p['name'].' $'.number_format($p['price'],2)." ";
    echo "<input type='text' name='qty' size='5' value='1'><input type='submit' value='Add to cart' name='add'>";
    echo "</form></td></tr>";
}
echo "</table>";
 
 
echo "<h2>Items in cart</h2>";
 
if($cart->itemcount > 0) {
    foreach($cart->get_contents() as $item) {
        echo "<br />Item:<br/>";
        echo "Code/ID :".$item['id']."<br/>";
        echo "Quantity:".$item['qty']."<br/>";
        echo "Price   :$".number_format($item['price'],2)."<br/>";
        echo "Info    :".$item['info']."<br />";
        echo "Subtotal :$".number_format($item['subtotal'],2)."<br />";
        echo "<form method=post><input type='hidden' name='id' value='".$item['id']."'/><input type='submit' name='remove' value='Remove'/></form>";
    }
    echo "---------------------<br>";
    echo "total: $".number_format($cart->total,2);
} else {
    echo "No items in cart";
}
 
?>
Добавлено через 1 минуту
Второй файл wfCart:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
class wfCart {
    var $total = 0;
    var $itemcount = 0;
    var $items = array();
        var $itemprices = array();
    var $itemqtys = array();
        var $iteminfo = array();
 
    function cart() {} // constructor function
 
    function get_contents()
    { // gets cart contents
        $items = array();
        foreach($this->items as $tmp_item)
        {
                $item = FALSE;
 
            $item['id'] = $tmp_item;
                        $item['qty'] = $this->itemqtys[$tmp_item];
            $item['price'] = $this->itemprices[$tmp_item];
            $item['info'] = $this->iteminfo[$tmp_item];
            $item['subtotal'] = $item['qty'] * $item['price'];
                        $items[] = $item;
        }
        return $items;
    } // end of get_contents
 
 
    function add_item($itemid,$qty=1,$price = FALSE, $info = FALSE)
    { // adds an item to cart
                if(!$price)
        {
                $price = wf_get_price($itemid,$qty);
        }
 
                if(!$info)
        {
                        $info = wf_get_info($itemid);
        }
 
        if($this->itemqtys[$itemid] > 0)
                { // the item is already in the cart..
          // so we'll just increase the quantity
            $this->itemqtys[$itemid] = $qty + $this->itemqtys[$itemid];
            $this->_update_total();
        } else {
            $this->items[]=$itemid;
            $this->itemqtys[$itemid] = $qty;
            $this->itemprices[$itemid] = $price;
            $this->iteminfo[$itemid] = $info;
        }
        $this->_update_total();
    } // end of add_item
 
 
    function edit_item($itemid,$qty)
    { // changes an items quantity
 
        if($qty < 1) {
            $this->del_item($itemid);
        } else {
            $this->itemqtys[$itemid] = $qty;
            // uncomment this line if using 
            // the wf_get_price function
            // $this->itemprices[$itemid] = wf_get_price($itemid,$qty);
        }
        $this->_update_total();
    } // end of edit_item
 
 
    function del_item($itemid)
    { // removes an item from cart
        $ti = array();
        $this->itemqtys[$itemid] = 0;
        foreach($this->items as $item)
        {
            if($item != $itemid)
            {
                $ti[] = $item;
            }
        }
        $this->items = $ti;
        $this->_update_total();
    } //end of del_item
 
 
        function empty_cart()
    { // empties / resets the cart
                $this->total = 0;
            $this->itemcount = 0;
            $this->items = array();
                $this->itemprices = array();
            $this->itemqtys = array();
                $this->iteminfo = array();
    } // end of empty cart
 
 
    function _update_total()
    { // internal function to update the total in the cart
            $this->itemcount = 0;
        $this->total = 0;
                if(sizeof($this->items > 0))
        {
                        foreach($this->items as $item) {
                                $this->total = $this->total + ($this->itemprices[$item] * $this->itemqtys[$item]);
                $this->itemcount++;
            }
        }
    } // end of update_total
 
}
?>
0
03.02.2016, 12:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.02.2016, 12:35

Корзина инет магазина, вычисляем сумму всех товаров в корзине
Проблема которую я не могу решить и гугл не помог. SUM(price) тоже не...

Реализовать регистрацию на php и сессиях
Помогите реализовать регистрацию на php и сессиях, с подтверждением email по...

Как сделать фильтр для интернет-магазина
Подскажите, как сверстать и осуществить фильтр, такой как на сайте chasi5.ru ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru