Доста често има нужда, за да въведете информация от файловете в базата данни. Един от начините за решаване на този проблем е: отворете файла, ред по ред четат файл Сплит низ от разделител, и влезе в базата данни. Но в този случай, да възникне проблем в цената на вноса, ако файлът е твърде голям.
За да се реши този проблем, можете да използвате 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 със следния код.
Свързани статии