ПредишенСледващото

Доста често има нужда, за да въведете информация от файловете в базата данни. Един от начините за решаване на този проблем е: отворете файла, ред по ред четат файл Сплит низ от разделител, и влезе в базата данни. Но в този случай, да възникне проблем в цената на вноса, ако файлът е твърде голям.

За да се реши този проблем, можете да използвате MySQL оператор LOAD DATA INFILE на. LOAD DATA INFILE позволява изтеглянето на информацията от файловете с висока скорост, което е това, което имахме нужда.

Но този метод, аз забелязах, техните плюсове и минуси:

  • - няма начин да се следи коректността на входните данни
  • + скорост на изтегляне е впечатляваща

Той смята, ситуация, която ние трябва да се разтоварят на цените на база данни са изброени организации. Вие ще трябва да се създаде форма с възможност да изберете файла и щракнете върху файла за въвеждане в базата данни.

Първо, създаване tbl_price маса, където ще се съхранява информация за ценовата листа.

Импортиране на файл в базата данни

id_user ще бъде външен ключ към организацията и ценоразпис.

Ние създаваме файл, който ще бъде внесен

Създаване на модел

Създаване на модел за маса генератор tbl_price GII код. Добавяне на файл за импортиране метод Цена Модел клас а.

Нека разгледаме по-команда LOAD DATA МЕСТНА INFILE.

МЕСТНА показва, че файлът е взета от клиент директория на сървъра, ако пишете LOAD DATA INFILE един, файлът ще бъде взет от SQL Server.

ОБЛАСТИ прекратено от подсказва как полетата са разделени едно от друго в този случай "," точка и запетая.

ЛИНИИ прекратено от разговори за начина, по който линии са разделени, имаме символ на нов ред.

IGNORE 1 линии, за да пропуснете броя на редовете на върха, като прескочите един, защото имаме шапка, ако заглавията на колоните, не можете да използвате този параметър, за да пиша.

Следваща в скоби показват параметрите, които ще бъдат въведени в базата данни на файла е важно да се уточни последователността на колоните на бази данни, които са изброени в т.е. файл Ако колоните на базата данни са "цената", "Количество", "U-изъм" и файл за импортиране "храна-изъм", "цена", "брои" в заявката за SQL следва да се посочи "храна-изъм" "цена", "количество".

Също така, когато копиране на файл в базата данни може да се окаже, че не цялата необходима информация се съхранява във файла за импортиране. В нашия случай това идентификатор организацията, който е собственик на цената и времето на формиране на цените. За да направите това, използвайте комбинацията, в която присвояваме текущата дата и date_price организация id_user номер.

Тъй като валидността на входните данни по този начин не може да бъде проверена (ако е така, как да споделят), тогава ние се променят правилата в нашия модел.

Тук съм създал import_csv сценарий, при разширението се наблюдава файл избран от потребителя. Разширяване Избрах CSV, но тя може да бъде различна.

Създаване View

Ние създаваме един клас представяне Цена и да направи следния код.

Е, всичко е просто, като единствената точка, която струва да се обръща внимание на това

в противен случай activeFileField поле ще се върне нула.

Създаване на контролер

PriceController създаде контролер и го actionImport със следния код.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!