ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

PHP: Чтение из .xls, рационален ли метод?
  #1  
Старый 28.04.2007, 14:09
Аватар для Naydav
Naydav
Постоянный
Регистрация: 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..
 
Ответить с цитированием

  #2  
Старый 28.04.2007, 16:28
Аватар для Naydav
Naydav
Постоянный
Регистрация: 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..
 
Ответить с цитированием

  #3  
Старый 28.04.2007, 21:22
Аватар для hidden
hidden
Постоянный
Регистрация: 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,...)';
 
Ответить с цитированием

  #4  
Старый 03.05.2007, 14:16
Аватар для Naydav
Naydav
Постоянный
Регистрация: 30.12.2006
Сообщений: 434
Провел на форуме:
849583

Репутация: 210
По умолчанию

Цитата:
там же поля запятыми разделяются
да точка-запятой разделяються

Цитата:
1;1;1
1;;
1;;
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чтение переписки в mail agent`е Google00 E-Mail 9 17.03.2007 20:39
Чтение участков памяти в MS Windows »Atom1c« Windows 1 28.12.2006 23:05
чтение почты на mail.ru и rambler.ru 4e/\ E-Mail 53 15.06.2005 17:08
Чтение приватов в чете Чаты 0 19.01.2004 23:03



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ