Frunky

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

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

Frunky    0

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

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

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

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

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


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

можно php, можно excel можно и просто phpmyadmin

используйте любой инструмент который знаете.

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


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

мне нужно было в меньших количествах - для себя использовал запрос в базу через 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'))

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


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

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

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

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

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

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

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


Ссылка на сообщение
Поделиться на другие сайты
chukcha    830
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

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


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

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

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


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

следующая тема будет как создать 8000 купонов?

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


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

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

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


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

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

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

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


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

Всем спасибо большое, разобрался)
 

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

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


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

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

<?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

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


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

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

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

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

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


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

да... смешной код. Удалите тему, не учите плохому.

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


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

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

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


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

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

 

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

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


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

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

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

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

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

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

Войти

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

Войти


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

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