1 Востаннє редагувалося FakiNyan (16.12.2014 12:45:59)

Тема: Як мені ту корзинку в магазині запіндюрити?

Хайо. Ну корзина для гамазина тре.
Думаю, треба зробити якийсь масив, котрий буде в собі тримати індекси продуктів, котрі ми добавляємо в корзину, і запихнути той масив в

$_SESSION["basket"]

, ну а потім робити щось типу

$_SESSION["basket"]->append($some_data);

Ну я так і зробив

<?PHP
set_include_path ("D:/xampp/htdocs");
session_start();
if(!isset($_SESSION["basket"]))
{
    $_SESSION["basket"] = array();
}

$_SESSION["basket"]->append(1);

foreach($_SESSION["basket"] as $value)
{
    echo $value."<br>";
}
require_once 'application/bootstrap.php';
?>

А воно каже

Fatal error: Call to a member function append() on a non-object in D:\xampp\htdocs\index.php on line 9

Чому так? Як полагодити?

2

Re: Як мені ту корзинку в магазині запіндюрити?

Ну бо масив не є об’єктом, нє?

Подякували: koala1

3

Re: Як мені ту корзинку в магазині запіндюрити?

Vo_Vik написав:

Ну бо масив не є об’єктом, нє?

то я у вас запитую

4

Re: Як мені ту корзинку в магазині запіндюрити?

звiдки  у   масива   методи?

Подякували: koala1

5

Re: Як мені ту корзинку в магазині запіндюрити?

caballero написав:

звiдки  у   масива   методи?

звідки мені було знати, масив то, чи об'єкт?

6

Re: Як мені ту корзинку в магазині запіндюрити?

FakiNyan написав:
Vo_Vik написав:

Ну бо масив не є об’єктом, нє?

то я у вас запитую

то запитайте  у   мануала  по  PHP.   Чи  вам  просто  спiлкуватися  нi з  ким

7

Re: Як мені ту корзинку в магазині запіндюрити?

PHP настільки говно, що в ньому навіть методу append в масивах немає.

Подякували: leofun011

8

Re: Як мені ту корзинку в магазині запіндюрити?

caballero написав:
FakiNyan написав:
Vo_Vik написав:

Ну бо масив не є об’єктом, нє?

то я у вас запитую

то запитайте  у   мануала  по  PHP.   Чи  вам  просто  спiлкуватися  нi з  ким

Я той кід накидав аби якийсь чувак не сказав, що я ото нічо не роблю, а хочу готовий кід.
Якщо бачите, що щось не так, то кажіть, як тре робити, а не фігню усіляку пишіть "а шо ви то не можете, а шо ви те не можете".

9

Re: Як мені ту корзинку в магазині запіндюрити?

Ну гадаю, що ви вже знайшли як правильно робити.

10

Re: Як мені ту корзинку в магазині запіндюрити?

Invader написав:

Ну гадаю, що ви вже знайшли як правильно робити.

та нічо я не знайшов, гуглив лишень щось типу "php аналог list", але там одне лайно

Прихований текст

, шо мамку його я в ріт ****, того php

11

Re: Як мені ту корзинку в магазині запіндюрити?

$a['a'] = array();
$a['a'][] = 1;
$a['a'][] = 2;

або отак:

$_SESSION["basket"] = array('єє' => "аа");

12

Re: Як мені ту корзинку в магазині запіндюрити?

ну ладно, вже знайшов, array_push, але все одно то все лайно

13

Re: Як мені ту корзинку в магазині запіндюрити?

$_SESSION["basket"] = array();

звідки мені було знати, масив то, чи об'єкт?

*WALL*
Добавити новий елемент в масив можна через array_push();
Але я би робив отак:

if(isset($_SESSION["basket"][$product_id])) {
$_SESSION["basket"][$product_id] = $quantity;
}
else {
$_SESSION["basket"][$product_id] += $quantity;
}
Подякували: FakiNyan1

14

Re: Як мені ту корзинку в магазині запіндюрити?

Vo_Vik написав:

$_SESSION["basket"] = array();

звідки мені було знати, масив то, чи об'єкт?

*WALL*
Добавити новий елемент в масив можна через array_push();
Але я би робив отак:

if(isset($_SESSION["basket"][$product_id])) {
$_SESSION["basket"][$product_id] = $quantity;
}
else {
$_SESSION["basket"][$product_id] += $quantity;
}

ну я теж про таке думав, але боявся ускладнювати, бо потім задовбуся запит до бд ліпити, майбуть

15

Re: Як мені ту корзинку в магазині запіндюрити?

а, я догнав, що ми вже на клієнті будемо просто множити отримані продукти на їх кількість

16

Re: Як мені ту корзинку в магазині запіндюрити?

PHP настільки говно, що в ньому навіть методу append в масивах немає.

Нащо метод, коли можна операторами?

масив[]=значення_елемента

17 Востаннє редагувалося Invader (16.12.2014 19:42:01)

Re: Як мені ту корзинку в магазині запіндюрити?

$a['a'] = array();$a['a']->append(1);

виглядає краще ніж

$a['a'] = array();$a['a'][] = 1;

18 Востаннє редагувалося P.Y. (16.12.2014 23:18:04)

Re: Як мені ту корзинку в магазині запіндюрити?

Тоді

$a->get_element_by_index('a') = array();
$a->get_element_by_index('a')->append(1);

має виглядати ще краще, мабуть.

19

Re: Як мені ту корзинку в магазині запіндюрити?

$a['a'][0] = 1;

Так можна отак зразу , без оголошення масиву.

20

Re: Як мені ту корзинку в магазині запіндюрити?

сессія швидко "впаде", а разом з нею і ваші добавлені товари. Якщо вирішили зберігати товари в корзину без бд,то юзайте cookies.