Перейти к содержанию
Granled

Помогите пожалуйста разобратся, уже замучался

Рекомендуемые сообщения

Сразу говорю, я не кодер. Но получилось так что мне срочно нужно сделать в форме редактирования заказа в админке возможность изменения общей суммы заказа.

Что бы это сделать нужно вывести переменную total из таблицы заказов и уже редактировать ее.

Но не понимаю как это сделать.

Вроде бы все просто:

в модели:

	public function getTsum($order_id) {
		$this->db->query("SELECT FROM `" . DB_PREFIX . "order_total` WHERE order_id = '" . (int)$order_id . "'");
		return $query->rows;
	}

в контроллере:

$tsum = $this->model_sale_order->getTsum($this->request->get['order_id']);

На выходе ошибка:

Fatal error: Uncaught exception 'Exception' with message 'Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM `oc_order_total` WHERE order_id = '415'' at line 1<br />Error No: 1064<br />SELECT FROM `oc_order_total` WHERE order_id = '415'' in /home/zghost/zgemchug.ru/docs/system/library/db/mysqli.php:40 Stack trace: #0 /home/zghost/zgemchug.ru/docs/system/library/db.php(16): DB\MySQLi->query('SELECT FROM `oc...', Array) #1 /home/zghost/zgemchug.ru/docs/system/storage/modification/admin/model/sale/order.php(19): DB->query('SELECT FROM `oc...') #2 [internal function]: ModelSaleOrder->getTsum('415') #3 /home/zghost/zgemchug.ru/docs/system/storage/modification/system/engine/loader.php(178): call_user_func_array(Array, Array) #4 [internal function]: Loader->{closure}(Array, Array) #5 /home/zghost/zgemchug.ru/docs/system/engine/proxy.php(25): call_user_func_array(Object(Closure), Array) #6 /home/zghost/zgemchug.ru/docs/system/storage/m in /home/zghost/zgemchug.ru/docs/system/library/db/mysqli.php on line 40

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

 

Помогите пожалуйста! Как вывести переменную базы данных total  таблицы oc_order  для ее последующего редактирования из формы заказа?

Изменено пользователем Granled

Поделиться сообщением


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

Сюда

$order_id

Передаётся массив, а не значение.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Just now, nexus said:

Сюда


$order_id

Передаётся массив, а не значение.

Это я понял, а как передать значение а не массив?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
6 минут назад, Granled сказал:

Это я понял, а как передать значение а не массив?

 

foreach

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 minute ago, nexus said:

 

foreach

В контроллере или в тпл?

Object of class stdClass could not be converted to string in 

foreach лечит именно это? Там же одно значение должно быть, и это все равно массив?

Поделиться сообщением


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

Форич проходит по массиву..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 minutes ago, nexus said:

Форич проходит по массиву..

		foreach ($tsum as &$value) {
		$value;
		}

Так? Там массив из одного значения, как его вызвать то...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
30 минут назад, Granled сказал:

		foreach ($tsum as &$value) {
		$value;
		}

Так? Там массив из одного значения, как его вызвать то...

не пропустили ли Вы звездочку? + total можно взять из таблицы Order:

$this->db->query("SELECT * FROM `" . DB_PREFIX . "order` WHERE order_id = '" . (int)$order_id . "'");

 

Дальше помочь должно:

foreach ($tsum as $tsums) {

    echo $tsums['total'];

}

Собственно $tsums['total'] и используйте

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
47 minutes ago, flai0616 said:

не пропустили ли Вы звездочку? + total можно взять из таблицы Order:

$this->db->query("SELECT * FROM `" . DB_PREFIX . "order` WHERE order_id = '" . (int)$order_id . "'");

 

Дальше помочь должно:

foreach ($tsum as $tsums) {

    echo $tsums['total'];

}

Собственно $tsums['total'] и используйте

 

Спасибо большое за ответ. Из этого всего паблик функцию в модели делать?

 

Короче не выходит у меня каменный цветок... Ладнааа будем еще страдать!

 

Изменено пользователем Granled

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 час назад, flai0616 сказал:

не пропустили ли Вы звездочку? + total можно взять из таблицы Order:

 

Мде, и я пропустил =((( Бросаю пить..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
31 минуту назад, Granled сказал:

Спасибо большое за ответ. Из этого всего паблик функцию в модели делать?

 

Модель служит для общения с БД.

Вся логика с контроллером.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Только что, nexus сказал:

 

Мде, и я пропустил =((( Бросаю пить..

Да эт ничего) я сам 10 мин смотрел и думал в чем причина))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
14 hours ago, flai0616 said:

Да эт ничего) я сам 10 мин смотрел и думал в чем причина))

Итак у меня получилось вот что:

в контроллере:

		$order_id = $this->request->get['order_id'];
		
		$data['tsum'] = $this->db->query("SELECT * FROM `" . DB_PREFIX . "order` WHERE order_id = '" . (int)$order_id . "'"); 

В шаблоне

	  <p>
	id заказа = <?php echo $order_id; ?> </br>
	Сумма заказа = <?php foreach ($tsum as $tsums) { echo $tsums['total'];} ?>	
	  </p>

В результате сумму я получил. Ура!

Но

Quote

id заказа = 377
Сумма заказа = 733.5000Notice: Undefined index: total in Z:\home\tech-store.loc\www\admin\view\template\sale\order_form.tpl on line 9

Нужно ли определять индекс total  и как это сделать? С помощью isset?

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

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

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