Для выполнения задания вам понадобится СУБД MySQL и интерпретатор PHP версии 5.3 и выше. Суть задачи – Требуется создать скрипт на языке PHP, который должен:
- Создать MySQL таблицу под данную структуру файла (Если таблица существует - выдать сообщение);
- Все данные из CSV-файла экспортировать в созданную таблицу. Данные в поле "Дата начала акции" должны храниться в формате INTEGER;
- После полного экспорта данных в таблицу изменить для одной случайной записи в таблице статус на противоположный и вывести эту запись на экран. При этом данные этой записи должны выводиться в том же виде, в каком они были получены из CSV-файла;
- После этого вывести на экран список ссылок(из CSV-файла) на все акции построенные по правилам построения URL(указаны ниже);
- Данное задание необходимо реализовать с помощью ООП;
- Свое решение задачи нужно запушить в публичный BitBucket или GitHub репозиторий с решением;
"ID акции";"Название акции";"Дата начала акции";"Дата окончания";"Статус" 17;"Скидка 60% на фирменный кофе и десерт Crepe suzette в кофейне Black berry";23-04-2011;29-04-2011;On 18;"Сделай Шаг вперед - настоящий танцевальный баттл в трех метрах от тебя";19-04-2011;24-04-2011;Off 19;"Идеальный маникюр на 3 недели без коррекции";30-04-2011;03-05-2011;Off 22;"Мексиканский ужин на Медео с 60% скидкой";10-05-2011;13-05-2011;On 23;"Полировка кузова + химчистка салона со скидкой 60%";03-05-2011;06-05-2011;On 24;"В отпуск к морю налегке";30-04-2011;30-05-2011;Off 25;"Быть звездой - это профессия!";30-04-2011;30-05-2011;Off 26;"Живи в гармонии и радости";02-05-2011;16-05-2011;On 28;"Ламинирование волос со скидкой 60% в салоне красоты Gaziza";06-05-2011;10-05-2011;Off 31;"Очень вкусное предложение";11-05-2011;11-06-2011;Off
[ID акции] - идентификатор страницы (число); [Название акции] - текстовая строка, формирующаяся по следующим правилам:
- строка формируется в нижнем регистре;
- все знаки препинания и пробелы заменяются на "-";
- 2 и больше "-" подряд преобразовываются в один;
- если при формировании URL в конце или в начале строки получается "-", то этот знак (знаки, если их несколько) удаляется;
- числа в строке не изменяются;
- для транслитерации необходимо использовать таблицу: "а" => "a", "ый" => "iy", "ые" => "ie", "б" => "b", "в" => "v", "г" => "g", "д" => "d", "е" => "e", "ё" => "yo", "ж" => "zh", "з" => "z", "и" => "i", "й" => "y", "к" => "k", "л" => "l", "м" => "m", "н" => "n", "о" => "o", "п" => "p", "р" => "r", "с" => "s", "т" => "t", "у" => "u", "ф" => "f", "х" => "kh", "ц" => "ts", "ч" => "ch", "ш" => "sh", "щ" => "shch", "ь" => "", "ы" => "y", "ъ" => "", "э" => "e", "ю" => "yu", "я" => "ya", "йо" => "yo", "ї" => "yi", "і" => "i", "є" => "ye", "ґ" => "g"