Как обновить количество товара в корзине

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Последнее редактирование:
  • Like
Реакции: AmdY

arhat78

Новичок
если бы я был против вопросов, я бы не сидел на этом (и других) форуме(ах)
Ну, началось.... Для добавления товара в корзину в кнопке есть name="add_item", но такой функции нет, есть addItem() и addItemAction()....

Попробовал переделать function addItem:
PHP:
function addItem($basket, $product, $code, $title,  $price, $quantity=1) {
        global $link;
        if ($quantity < 1) {
        addError('Количество товара добавляемого в корзину должно быть положительным числом');
        return $basket;
    }if (isset($basket['item'][$itemCode])) {
        $sql = "INSERT INTO basket(code, title,  price, quantity) VALUES (?,?,?,?)";
        if(!$stmt = mysqli_prepare($link, $sql))
          return false;
        mysqli_stmt_bind_param($stmt, "ssss",$code, $title,  $price, $quantity);
        mysqli_stmt_execute($stmt);
        mysqli_stmt_close($stmt);
        return true;
    }    
    }
и

PHP:
function addItem($basket, $product, $code, $title,  $price, $quantity) {
        global $link;
        $sql = "INSERT INTO basket(code, title,  price, quantity) VALUES (?,?,?,?)";
        if(!$stmt = mysqli_prepare($link, $sql))
          return false;
        mysqli_stmt_bind_param($stmt, "ssss",$code, $title,  $price, $quantity);
        mysqli_stmt_execute($stmt);
        mysqli_stmt_close($stmt);
        return true;  
    }
И конечно же ничего не добавляется в таблицу, но и ошибок не выдаёт...


В function basketInit() , как я понимаю, нужно будет сделать выборку SELECT из таблицы basket, но проверить пока нет возможности, так как в неё пока ничего не добавляется... :(

А function saveBasket - здесь я пока не понял, чем она должна функционально отличаться от basketInit() .....
 

Valick

Новичок
basketInit() - инициализация (получение корзины из хранилища, проверка остатков на складах, проверка доступности товаров к покупке и тд)
saveBasket() - сохранение (помещение текущего состояния корзины в хранилище)

как я понимаю, нужно будет сделать выборку SELECT из таблицы basket, но проверить пока нет возможности, так как в неё пока ничего не добавляется
Серьёзно? В чём проблема добавить записи в БД руками? Ну или написать запрос INSERT и выполнить его в РНР.
 

arhat78

Новичок
Серьёзно? В чём проблема добавить записи в БД руками? Ну или написать запрос INSERT и выполнить его в РНР.
Руками можно конечно. Но товар должен же добавляться кодом, а не добавляется. Пока здесь не решу, зачем дальше идти?

И разделил на две страницы: catalog.php, basket.php. А basket.php пустая страница, даже title не выводится почему то. И нажимая кнопку "В корзину" справа не отображается кол-во "в корзине", хотя сейчас решил пока просто разбить код постранично и ничего в коде не менял, кроме вывода из БД....
 

Valick

Новичок
Зачем хранить в корзине название товара? Зачем хранить в корзине цену товара?
 

Valick

Новичок
arhat78, вы пытаетесь сделать всё сразу, а надо разбивать на мелкие подзадачи.
 

arhat78

Новичок
Зачем хранить в корзине название товара? Зачем хранить в корзине цену товара?
Хм.... тогда минимум нужно хранить code и идентификатор корзины basketId.... А выводить из корзины уже по code???
Вы серьёзно написали этот код за 30 минут на коленке????? 😨 Я минимум три часа сидел и проводил связи между функциями, чтобы хоть примерно понять, что на что влияет!
 
Последнее редактирование:

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Ну, началось.... Для добавления товара в корзину в кнопке есть name="add_item", но такой функции нет, есть addItem() и addItemAction()....
скажи, ты статью по ссылке прочел? http://phpfaq.ru/newbie/na_tanke
если нет - че всем голову морочишь, иди прочти
если да - уточни, какое именно предложение в ней непонятно?
если прочел, в целом все понятно, но не понимаешь, какая связь у аттрибутов тега input с именами функций в php - тебе рано заниматься программированием, сначала пройди школьный курс информатики
 

Valick

Новичок
Вы серьёзно написали этот кода за 30 минут на коленке?????
а вы думаете у меня годы свободного времени? писал на обеденном перерыве
ну плюс немного времени на bootstrap потратил, чтоб не "вырви глаз" было, но я не фронтендер ни разу, вёрстка это не моё
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
это люди каким-то образом пишут сюда из 2012го, или санкции так работают, что вернулись к верстке и бутстрапу? 😁

короче, человек не разобрался с базовыми понятиями - взаимосвязью php, http, html и браузера, какие там корзины
 

Тугай

Новичок
это люди каким-то образом пишут сюда из 2012го, или санкции так работают, что вернулись к верстке и бутстрапу? 😁
Скажу за себя, не совсем санкции, нужно делать учетные ERP системки, типа тех что были в 2000х на foxpro, delphi, VB6. Парк компов как раз начало 2010, есть windows xp.
Писать ERP на C# не хочется потому что web круче и привычней, 1С8 дорого и тормазнутое, плюс хочется и в смартфоне, делаю на PHP c bootstrap 4 :)
Ну и конфединциальность держать данные в облаке рисковано. Ну и все делать надо самому, стек большой сегодня много хайпа разбираться долго, может лет через 5 дорастем до чего-то другого. :)
 

Valick

Новичок
Тугай, а ничего, что здесь идёт речь о учебном скрипте? Человеку необходимо хотябы маломальски научится структурировать код, понять что модель, контроллер и вьювер - это три отдельных "государства", понять как они взаимодействуют между собой. Ну и в конце концов форум тут про РНР, вот и делаю упор на серверную часть.
А в целом главная задача заинтересовать ТС на столько, что бы у него появилось желание читать книги (много много книг) без постоянного получения новой информации в программировании делать нечего (как собственно и в любой другой профессии).
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
да, легаси никуда не денется, его надо поддерживать,
а конфиденциальные данные держать в облаке на много порядков безопаснее, к слову

насчет mvp - без понимания основ не получится, а заинтересовать невозможно, если человек хочет войти в IT чтобы по-быстрому зашибать - надежнее сразу в тестировщики
 

Тугай

Новичок
Тугай, а ничего, что здесь идёт речь о учебном скрипте? ...
Я за bootstrap затсупился, он для меня вполне актуален и верстать немного тоже приходися. :)
ТС не знает основ и задача скорозиной для него не подъемная пока. Он смотрит на код скрипта на сервере и хочет чтоб у него в браузере, на клинете , автоматом, что-то менялось без js. Ответ понять как все работает и учить js, об этом ему уже много раз написали. :)
 
Сверху