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

В таблице order не изменяется поле статуса заказа

16.04.2018, 16:53. Просмотров 166. Ответов 2
Метки нет (Все метки)

Здравствуйте!
При использую php в связке с MySql у меня почему то не изменяется статус заказа с '0' на '1'. Поле заказа имеет тип ENUM('0','1'). При работе с БД я использую пакет redbeanphp.

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
        $orderId = $this->getRequestID();
        $status='0';
        if (isset($_GET['status']) && $_GET['status']=='0') {
            $status = '1';//значение статуса
        }
        $order = \R::load('order',$orderId);//вытаскиваю строку с заданным id из таблицы 'order'
        if (!$order) {
            throw new \Exception('Страница не найдена',404);
        }
        $order->status = $status;//новое значение статуса
        $order->update_at = date("Y-m-d H:i:s");//новое значение для даты изменения
        if(\R::store($order)) { //записываю полученные значения, но статус не меняется, а дата меняется
            $_SESSION['success'] = 'Изменения сохранены';
        }
        redirect();
Данный код не выдаёт никаких ошибок. При этом если поменять тип поля статуса заказа в таблице order с ENUM('0','1') на ENUM('1','0'), то статус будет меняться, но при этом завершённые заказы в таблице со всеми заказами будут в самом верху, что не есть хорошо...кто-нибудь сталкивался с такой проблемой и может подсказать как это исправить. Благодарю, что прочли это сообщение)

Добавлено через 4 часа 38 минут
Забыл добавить, что сайт работает в виртуальной среде LAMP, созданной с помощью vagrant...
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.04.2018, 16:53
Ответы с готовыми решениями:

Изменить поле статуса в БД по истечению заданного времени
Привет. Пользователю необходимо совершить определенное действие и нажать на...

Не закрашивается поле в таблице
<?php // коннект к базе $conn = oci_connect("questions", "questions",...

Добавить еще одно поле к таблице и форме
Приветствую! Господа, помогите новичку, пожалуйста. Вобщем, есть форма...

Можно ли заполнять одно поле вместо всех полей в таблице БД MySQL?
Доброго времени суток!)) Пишу и тестирую скрипт. В нем одна лишь переменная,...

Отбор данных в таблице по введенному коду заказа в поле textbox
День добрый. Очень нужна помощь. Есть база в access, подключил с помощью...

2
otto-fukin
-55 / 58 / 21
Регистрация: 15.06.2017
Сообщений: 572
18.04.2018, 14:15 2
Цитата Сообщение от Maxter Посмотреть сообщение
$_GET['status']=='0'
Цитата Сообщение от Maxter Посмотреть сообщение
if(\R::store($order))
Цитата Сообщение от Maxter Посмотреть сообщение
if (!$order)
лажовые проверки
0
arava
316 / 119 / 62
Регистрация: 30.06.2014
Сообщений: 644
18.04.2018, 14:57 3
Maxter, у вас не выполняется условие :
PHP
1
if (isset($_GET['status']) && $_GET['status']=='0') {
и не переопределяется переменная $status на значение 1.
по этому :
Цитата Сообщение от Maxter Посмотреть сообщение
При этом если поменять тип поля статуса заказа в таблице order с ENUM('0','1') на ENUM('1','0')
выполните проверку :
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
        $orderId = $this->getRequestID();
        $status='0';
        if (isset($_GET['status']) && $_GET['status']=='0') {
            $status = '1';//значение статуса
            die('status переопределен на '. $status);
        }
        $order = \R::load('order',$orderId);//вытаскиваю строку с заданным id из таблицы 'order'
        if (!$order) {
            throw new \Exception('Страница не найдена',404);
        }
        $order->status = $status;//новое значение статуса
        $order->update_at = date("Y-m-d H:i:s");//новое значение для даты изменения
        if(\R::store($order)) { //записываю полученные значения, но статус не меняется, а дата меняется
            $_SESSION['success'] = 'Изменения сохранены';
        }
        redirect();
Если вы не увидите сообщение :
status переопределен на 1 , то условие не выполняется 100%
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.04.2018, 14:57

Отслеживание статуса заказа
Вобщем суть вопроса такова: хочу создать небольшой закрытый сайт для...

Ведение статуса заказа
Как реализовать ведение статуса заказа? К примеру покупатель приобретает товар...

форма на сайт статуса заказа
Привет! Помогите, плизз, создать скрипт. Нужна форма ввода заказа или логина,...


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

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

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