Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Генерация 6000 купонов


Frunky

Recommended Posts

Доброго времени суток!
Столкнулся с такой проблемой, на сайте нужно сделать 6000 купонов с 3% скидкой, кол-во использования - неограниченно, срок действия - бесконечный, нумерация купонов от 0001-6000(т.е 0002,0003,0004..5292,5293 и.тд)

Естественно, создавать каждый купон отдельно, это не очень круто:)
У меня в таблице купонов уже есть 3 купона, какой sql запрос нужно сделать, чтобы он автоматически сгенерировал все купоны по подобию. В целом, я имею представление, что нужно зациклить все это создание купонов, но как реализовать не знаю.

Может быть вообще есть такой модуль? или как-нибудь экспортировать купоны из таблицы excel'a.

Спасибо за внимание, надеюсь на Вашу помощь.

Надіслати
Поділитися на інших сайтах


  • 4 weeks later...

мне нужно было в меньших количествах - для себя использовал запрос в базу через phpMyAdmin:

insert into `oc_coupon` (`name`,`code`,`type`,`discount`,`logged`,`shipping`,`total`,`date_start`,`date_end`,`uses_total`,`uses_customer`,`status`,`date_added`)
 VALUES
 ('Я СВОБОДЕН','Номер','P','40','0','0','6000',STR_TO_DATE('2015-10-28', '%Y-%m-%d'),STR_TO_DATE('2015-11-30', '%Y-%m-%d'),'1','1','1',STR_TO_DATE('2015-10-28', '%Y-%m-%d'))

Надіслати
Поділитися на інших сайтах


  • 2 weeks later...

Всем доброго времени суток!

Срочно нужна помощь с купонами. Нужно создать 7000 купонов с одинаковыми параметрами,единственное различие это - номера купонов, их нумерация должна быть в такой последовательности: 0000,0001,0002...6996,6997,6998,6999,7000.и т.д

Параметры: скидка 3%, срок действия бесконечный ну или лет 50.

Каким способом это можно реализовать? Было бы здорово,если был бы какой-нибудь модуль,но такового я не нашёл. Экспорт через Excel?тогда как именно заполнить документ? Или же сделать sql запрос? Какой?

Прошу помощи, спасибо большое!

Надіслати
Поділитися на інших сайтах


INSERT INTO `oc15512`.`oc_coupon` (
`name` , `code` , `type` , `discount` , `logged` , `shipping` , `total` , `date_start` , `date_end` , `uses_total` , `uses_customer` , `status` ,  `date_added` ) 
SELECT SELECT 
CONCAT( 'moй_купон', zone_id ),
'P',
'50',
0,
0,
'2015-01-01 00:00:00',
'2065-01-01 00:00:00',
'',
'',
1
NOW() FROM oc_zone WHERE zone_id<3500

Как-то так

 

ЗА непрерывную последовательность не ручаюсь

 

Но лучше обратитесь к специалистам.

Змінено користувачем chukcha
Надіслати
Поділитися на інших сайтах

В запросе есть ошибка, но человек который захочет разобраться самостоятельно - разберется.

Надіслати
Поділитися на інших сайтах

Друг, спасибо большое, но , к сожалению, не создает 7000 купонов, а лишь один. нужно как-то зациклить 'code' до 7000 с 0000

Все правильно понял, по этому запросу создается один купон, мне надо было десяток сгенерить, лень было руками, поэтому написал запрос и выполнил его несколько раз. Дубово, но все равно лучше чем мартышкиным трудом заниматься, а модуля такого я не нашел - идея для разработчиков))

Надіслати
Поділитися на інших сайтах


Кому надо, вот, готовый скрипт: 

<?php
    init_pdo();
    function init_pdo ()
    {
        try {
            $dsn = "mysql:dbname=dbname;host=localhost";
            $pdo = new PDO($dsn, 'dbuser', 'password', array(
                PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'
            ));
            $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);


            for($i=0; $i <= 7000; $i++){


                $coupon = '';
                if($i < 10) {
                    $coupon = '000'.$i;
                } else if($i < 100) {
                    $coupon = '00'.$i;
                } else if($i < 1000) {
                    $coupon = '0'.$i;
                } else if($i <= 7000) {
                    $coupon = $i;
                }


                $sql = "insert into `oc_coupon` (`name`, `code`, `type`,`discount`,`logged`,`shipping`,`total`,`date_start`,`date_end`,`uses_total`,`uses_customer`,`status`,`date_added`) values ('Купоны', '".(string) $coupon."' ,'P','3','0','0','0',STR_TO_DATE('2015-10-28', '%Y-%m-%d'),STR_TO_DATE('2085-11-30', '%Y-%m-%d'),'1','1','1',STR_TO_DATE('2015-10-28', '%Y-%m-%d'))";
                $q = $pdo->prepare($sql);
                $q->execute();
            }


        }
        catch(PDOException $e)
        {
            var_dump($e);
            die;
        }
        return $pdo;
    }
?>
Змінено користувачем Frunky
Надіслати
Поділитися на інших сайтах


мАмА дАрАгАя
 
т.е.
об
 

$coupon = str_pad($i, 4, "0", STR_PAD_LEFT);

речи вообще не идет, а тем не менее Пушку в виде PDO использовали

Надіслати
Поділитися на інших сайтах

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

 

Извините, это ответ вашему ответу.

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.