n1c Опубликовано 28 мая, 2015 Жалоба Поделиться Опубликовано 28 мая, 2015 Добрый день форумчане.Как-то давно видел на форуме решение о прибавлении заданного числа к номеру товара, но теперь не нахожу(Пример: Заказ №1, Заказ №2, Заказ №3...А хочу задать чтобы после каждого заказа, увеличивалось на "3":Заказ №3, Заказ №6, Заказ №9, Заказ №12... Цитата Ссылка на сообщение Поделиться на другие сайты
n1c Опубликовано 28 мая, 2015 Автор Жалоба Поделиться Опубликовано 28 мая, 2015 Типа {$order->id+3} не хочу, так как есть старые заказы Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 28 мая, 2015 Жалоба Поделиться Опубликовано 28 мая, 2015 (изменено) Так сделать невозможно потому как ID заказ генерируется после создания записи в sql. + id заказа автоматически генерируется и приплюсовать уж точно не выйдет. Изменено 28 мая, 2015 пользователем Noxter Цитата Ссылка на сообщение Поделиться на другие сайты
n1c Опубликовано 28 мая, 2015 Автор Жалоба Поделиться Опубликовано 28 мая, 2015 Так сделать невозможно потому как ID заказ генерируется после создания записи в sql.+ id заказа автоматически генерируется и приплюсовать уж точно не выйдет.Странно, точно помню было решение на форуме Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 28 мая, 2015 Жалоба Поделиться Опубликовано 28 мая, 2015 Странно, точно помню было решение на форумеПрям сама точность Возможно речь шла о изменении порядкового номера заказа. Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 28 мая, 2015 Жалоба Поделиться Опубликовано 28 мая, 2015 Так сделать невозможно потому как ID заказ генерируется после создания записи в sql.+ id заказа автоматически генерируется и приплюсовать уж точно не выйдет. Шикарное заявление!Готов поспорить с заявителем на 100-1000$, что так сделать очень даже возможно. Думаю, что минимум два разных способа смогу предоставить... Цитата Ссылка на сообщение Поделиться на другие сайты
n1c Опубликовано 28 мая, 2015 Автор Жалоба Поделиться Опубликовано 28 мая, 2015 Шикарное заявление!Готов поспорить с заявителем на 100-1000$, что так сделать очень даже возможно. Думаю, что минимум два разных способа смогу предоставить...Ну правильно, на сегодняшний день, все можно сделать) Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 28 мая, 2015 Жалоба Поделиться Опубликовано 28 мая, 2015 Шикарное заявление!Готов поспорить с заявителем на 100-1000$, что так сделать очень даже возможно. Думаю, что минимум два разных способа смогу предоставить...Покажи всем Корс какой ты умный, докажи что кроме паршивого тролинга ты способен сделать что то во благо коммюнити.P.S. С радостью оценю решение задачи ТС Корс-ом. Цитата Ссылка на сообщение Поделиться на другие сайты
atzako Опубликовано 30 мая, 2015 Жалоба Поделиться Опубликовано 30 мая, 2015 Значение инкремента можно установить через auto_increment_increment. Не слишком удачная идея.А можно через задавать ID-шник записи через триггер. Создается через CREATE TRIGGER (маны найдете). Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 30 мая, 2015 Жалоба Поделиться Опубликовано 30 мая, 2015 Корс у нас только языком ляпать умеет, результата как и толку 0 с него. Цитата Ссылка на сообщение Поделиться на другие сайты
KostyanBr Опубликовано 21 января, 2016 Жалоба Поделиться Опубликовано 21 января, 2016 Решения так и нет? Цитата Ссылка на сообщение Поделиться на другие сайты
mishanya Опубликовано 21 января, 2016 Жалоба Поделиться Опубликовано 21 января, 2016 в view/CartView.php добавить ПЕРЕД // Добавляем заказ в базу $order_id = $this->orders->add_order($order); следующие строки // получаем айди последнего заказа и прибавляем к нему число $this->db->query('SELECT id FROM __orders ORDER BY id DESC LIMIT 1'); $last_id = $this->db->result('id'); if(!empty($last_id)) $order->id = intval($last_id)+3; при оформлении заказа каждый заказ будет с номером+3. Цитата Ссылка на сообщение Поделиться на другие сайты
KostyanBr Опубликовано 21 января, 2016 Жалоба Поделиться Опубликовано 21 января, 2016 в view/CartView.php добавить ПЕРЕД // Добавляем заказ в базу $order_id = $this->orders->add_order($order); следующие строки // получаем айди последнего заказа и прибавляем к нему число $this->db->query('SELECT id FROM __orders ORDER BY id DESC LIMIT 1'); $last_id = $this->db->result('id'); if(!empty($last_id)) $order->id = intval($last_id)+3; при оформлении заказа каждый заказ будет с номером+3.Отлично. Спасибо. Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 21 января, 2016 Жалоба Поделиться Опубликовано 21 января, 2016 Так сделать невозможно потому как ID заказ генерируется после создания записи в sql.+ id заказа автоматически генерируется и приплюсовать уж точно не выйдет. в view/CartView.php добавить ПЕРЕД // Добавляем заказ в базу $order_id = $this->orders->add_order($order); следующие строки // получаем айди последнего заказа и прибавляем к нему число $this->db->query('SELECT id FROM __orders ORDER BY id DESC LIMIT 1'); $last_id = $this->db->result('id'); if(!empty($last_id)) $order->id = intval($last_id)+3; при оформлении заказа каждый заказ будет с номером+3. mishanya, поздравляю! Шикарный способ! Как говорится, все гениальное просто... Разве что маленькое замечание есть. Если оформлен заказ 18, потом удален админом, а потом оформлен новый совсем другой заказ, то он тоже получит номер 18. Во-первых, у админа в письмах будут два РАЗНЫХ заказа 18 - один источник ошибок. Если админ не использует письма, а работает по админке, то может случиться и более интересная ситуация. Может ведь позвонить и первый покупатель и спросить что-то про заказ 18. Если админ не догадается уточнить, какой из 18-х заказов обсуждается, то может появиться хорошая путаница - покупатель по ответам админа может подумать, что админ ненормальный - магазину убыток...Хотя ситуация на практике довольно редкая, но лучше бы чуток подправить код... Цитата Ссылка на сообщение Поделиться на другие сайты
mishanya Опубликовано 21 января, 2016 Жалоба Поделиться Опубликовано 21 января, 2016 mishanya, поздравляю! Шикарный способ! Как говорится, все гениальное просто... Разве что маленькое замечание есть. Если оформлен заказ 18, потом удален админом... если админ удалил заказ 18, а потом пришел новый заказ 18, не лумаю что он перепутает. это уже из области фантастики. можно так сделать // получаем айди следующего заказа и прибавляем к нему число $this->db->query("SHOW TABLE STATUS LIKE 's_orders'"); $last_id = $this->db->result('Auto_increment'); if(!empty($last_id)) $order->id = intval($last_id)+3; Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 21 января, 2016 Жалоба Поделиться Опубликовано 21 января, 2016 (изменено) Теперь, по-моему, совсем замечательно... если админ удалил заказ 18, а потом пришел новый заказ 18, не лумаю что он перепутает. это уже из области фантастики. Если все события произошли в течение последнего часа, то не перепутает. А если вопрос связан с заказом, оформленным два-три дня тому назад, то очень может быть. А еще бывает, что в магазине админов НЕСКОЛЬКО. Так что это совсем не фантастика... Изменено 21 января, 2016 пользователем Kors Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.