Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
PHP: Чтение из .xls, рационален ли метод? |

28.04.2007, 14:09
|
|
Постоянный
Регистрация: 30.12.2006
Сообщений: 434
Провел на форуме: 849583
Репутация:
210
|
|
PHP: Чтение из .xls, рационален ли метод?
Нужно обновлять таблицу базы данных из формата XLS...
Имееться прайс ,
С этого прайса беруться цены для интернет-магазина и записываються в бд
и что бы не вводить(обновлять бд вручную) через админку, нужно написать скрипт, который будет парсить этот файл в базу данных, есно заменяя старые и добавляя новые.
У меня есть вариант решения, такой:
сохранять файл в фрмате .csv, потом считывать его, например fopen()+explode(), и потом обрабатывать соответствующие елементы массива
но как проверять новые элементы?
т. е. брать определенный элемент(по имени) и сравнивать есть ли такой в полученных массивах?
но если товаров(записей) например 1000, и в новом прайсе например позиций 100
то каждый елемент, нужно сравнить с 1000 элементов уже присутствующих. а если елементов 100, то получаеться 100*1000 = 100 000 сравнений...
возможен конечно вариант - LOAD DATA LOCAL INFILE, и использование временной таблицы в MySql
ведь в бд действия быстрее будут обрабатываться...
рационален ли этот метод?
может кто-то сталкивался с подобной проблемой?
что вы посоветуете?
ps заранее благодарен!!!
Последний раз редактировалось Naydav; 28.04.2007 в 14:25..
|
|
|

28.04.2007, 16:28
|
|
Постоянный
Регистрация: 30.12.2006
Сообщений: 434
Провел на форуме: 849583
Репутация:
210
|
|
$sql= "LOAD DATA LOW_PRIORITY INFILE './date.txt' REPLACE INTO TABLE csv FIELDS TERMINATED BY ';' one,two,three
LINES TERMINATED BY '\n' STARTING BY ' ' ";
Всб ночь не спал - голова не варит,
что я не так делаю...
Последний раз редактировалось Naydav; 28.04.2007 в 16:32..
|
|
|

28.04.2007, 21:22
|
|
Постоянный
Регистрация: 23.04.2006
Сообщений: 622
Провел на форуме: 5887054
Репутация:
1292
|
|
А откуда ты это взял? TERMINATED BY ';' one,two,three
там же поля запятыми разделяются.
Думаю что-то вроде:
$sql= 'LOAD DATA LOW_PRIORITY INFILE "./date.txt" REPLACE INTO TABLE csv FIELDS TERMINATED BY "," ENCLOSED BY "" ESCAPED BY "" LINES TERMINATED BY "\n" (col1,col2,...)';
|
|
|

03.05.2007, 14:16
|
|
Постоянный
Регистрация: 30.12.2006
Сообщений: 434
Провел на форуме: 849583
Репутация:
210
|
|
там же поля запятыми разделяются
да точка-запятой разделяються
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|