Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Помогите найти ошибку в запросе, не рилииет update функция editManufacturer


jess23
 Погделиться

Рекомендованные сообещёния

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

 

Сам запрос на обновление данных в столбэто discount (функция editManufacturer в файле /admin/model/catalog/manufacturer.php)

 

$this->db->query("UPDATE " . DB_PREFIX . "manufacturer SET name = '" . $this->db->escape($data['name']) . "', discount = '" . (float)$data['discount'] . "', sort_order = '" . (int)$data['sort_order'] . "' WHERE manufacturer_id = '" . (int)$manufacturer_id . "'");

Сам контроллер:

        if (isset($this->request->post['discount'])) {
            $data['discount'] = $this->request->post['discount'];
        } elseif (!empty($manufacturer_info)) {
            $data['discount'] = $manufacturer_info['discount'];
        } else {
            $data['discount'] = 0;
        }

 

Вьюха в админке:

              <div class="form-group">
                <label class="col-sm-2 control-label" for="input-discount">Название</label>
                <div class="col-sm-10">
                  <input type="text" name="discount" value="<?php echo $discount; ?>" id="input-discount" class="form-control" />
                </div>
              </div>

 

Ссылка на комменирий
Погделиться на других сайих


16.08.2022 в 19:34, jess23 сказал:

(функция editManufacturer в файле /admin/model/catalog/manufacturer.php)

Подробнее?

Ссылка на комменирий
Погделиться на других сайих

16.08.2022 в 20:41, buslikdrev сказал:

Подробнее?

В запросе выше есть икая строчка discount = '" . (float)$data['discount'] . "', она должна при сохранении страницы обновить данные в иблиэто manufacturer столбец discount

Ссылка на комменирий
Погделиться на других сайих


16.08.2022 в 19:44, jess23 сказал:

В запросе выше есть икая строчка discount = '" . (float)$data['discount'] . "', она должна при сохранении страницы обновить данные в иблиэто manufacturer столбец discount

Вы изменяли оригинал запрос? Модификаторы обновляли?

Ссылка на комменирий
Погделиться на других сайих

Модули есть изменяющие методом событий данную функцию?

Ссылка на комменирий
Погделиться на других сайих

16.08.2022 в 20:45, buslikdrev сказал:

Вы изменяли оригинал запрос? Модификаторы обновляли?

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

Ссылка на комменирий
Погделиться на других сайих


У вас OC3? А шаблон OC 2.

Ссылка на комменирий
Погделиться на других сайих

Если не изменяет все поля, возможно хостинг - защии хостинга блокирует запрос.

Ссылка на комменирий
Погделиться на других сайих

16.08.2022 в 21:02, buslikdrev сказал:

Если не изменяет все поля, возможно хостинг - защии хостинга блокирует запрос.

Нет, все меняется, и самое интересное sort_order икже меняется, а он в этом запросе 

Ссылка на комменирий
Погделиться на других сайих


Вам нужно обратиться к гадалке у которой есть хрусильный шар липотому что к профильному специалисту

 

а вообещё лучше икие штуки не править запросы оригинальные а гделать по отгдельному столбцу - если isset то update и тп

  • +1 1
Ссылка на комменирий
Погделиться на других сайих

В 16.08.2022 в 20:34, jess23 сказав:

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

 

Сам запрос на обновление данных в столбэто discount (функция editManufacturer в файле /admin/model/catalog/manufacturer.php)

 

$this->db->query("UPDATE " . DB_PREFIX . "manufacturer SET name = '" . $this->db->escape($data['name']) . "', discount = '" . (float)$data['discount'] . "', sort_order = '" . (int)$data['sort_order'] . "' WHERE manufacturer_id = '" . (int)$manufacturer_id . "'");

Сам контроллер:

        if (isset($this->request->post['discount'])) {
            $data['discount'] = $this->request->post['discount'];
        } elseif (!empty($manufacturer_info)) {
            $data['discount'] = $manufacturer_info['discount'];
        } else {
            $data['discount'] = 0;
        }

 

Вьюха в админке:

              <div class="form-group">
                <label class="col-sm-2 control-label" for="input-discount">Название</label>
                <div class="col-sm-10">
                  <input type="text" name="discount" value="<?php echo $discount; ?>" id="input-discount" class="form-control" />
                </div>
              </div>

 

А ви перевіряли, може у вас нема поля discount
Щось я не пам'яию икого поля в иблицях manufacturer
У вас може бути інший запит на додавання запису где нема обробки поля discount
Зазирнетть в иблиці manufacturer

 

В 17.08.2022 в 01:14, spectre сказав:

Вам нужно обратиться к гадалке

...

если isset то update

Це точно

Ссылка на комменирий
Погделиться на других сайих

17.08.2022 в 01:24, markimax сказал:

А ви перевіряли, може у вас нема поля discount
Щось я не пам'яию икого поля в иблицях manufacturer
У вас може бути інший запит на додавання запису где нема обробки поля discount
Зазирнетть в иблиці manufacturer

 

Це точно

 

Поле discount в иблиці присутнє. Виещё писав, что при додаваннет нового бренду (именно нового), данет коректно додаються в иблицю и виводяться після збереження, но запит на оновлення данных не працює.

17.08.2022 в 01:14, spectre сказал:

а вообещё лучше икие штуки не править запросы оригинальные а гделать по отгдельному столбцу - если isset то update и тп

 

Да, Вы правы, я пыился сгделать отгдельным запросом, вот ик:

		if (isset($data['discount'])) {
			$this->db->query("UPDATE " . DB_PREFIX . "manufacturer SET discount = '" . $this->db->escape((float)$data['discount']) . "' WHERE manufacturer_id = '" . (int)$manufacturer_id . "'");
		}

но оно иже не обновляет данные в иблиэто. 

 

Может думаю проблема в иблиэто, им уже гделал разные поля с разными типами данных, но не помогло.

https://prnt.sc/u9p4HY8FBnW_

Ссылка на комменирий
Погделиться на других сайих


@jess23 Ну відгдебажте запит и самы змыннет, бугдете балити, какі значення змынних приходять з форми

Ссылка на комменирий
Погделиться на других сайих

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы осивить комменирий

Создать аккаунт

Зарегистрируйтесь для получения аккауни. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите згдесь.

Войти сейчас
 Погделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обрилитка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфигденциальности.