|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
13.08.2010, 11:09 | #11 |
Старожил
Регистрация: 09.09.2008
Сообщений: 2,624
|
1)http://ru2.php.net/manual/en/function.fgetcsv.php
2)Всё это нужно "упаковать" в один скрипт 3)файл должен быть там где будет выполняться скрипт(те там где стоит клиент) 4)Ключ лучше составить из существующих полей, а не добавлять новый. Я просто так до конца и не понял какие значения у вас уникальны. Вообщем если у вас есть номер артикула постащика, который для него уникален, чтобы ключ в таблице был уникаден для всех поставщиков достаточно сделать составной ключ: артикул поставщика + название поставщика. revision в ключ включать не надо, он нам нужен только для очистки старых значений, которые не будут заменены при LOAD DATA.
Стрелок-охотник
|
18.08.2010, 16:35 | #12 |
Форумчанин
Регистрация: 29.10.2008
Сообщений: 294
|
Уважаемый mv28jam, у меня опять затык
Код:
|
19.08.2010, 08:48 | #13 |
Старожил
Регистрация: 09.09.2008
Сообщений: 2,624
|
Ошибки mysql проверяли? http://ru2.php.net/manual/en/function.mysql-error.php
Что возвращает mysql_query($load);?
Стрелок-охотник
|
20.08.2010, 16:19 | #14 |
Форумчанин
Регистрация: 29.10.2008
Сообщений: 294
|
Возвращает неверный путь к файлу. Не заметил, что надо писать С:/ вместо С:\
Все работает, вот итоговый код, может кому пригодится: Код:
Осталась одна проблема - кодировка. Все таблицы utf8. В названиях деталей есть русские буквы. mysql_query("set CHARACTER SET utf8"); не помагает. |
23.08.2010, 09:13 | #15 |
Старожил
Регистрация: 09.09.2008
Сообщений: 2,624
|
Попробуйте "SET NAMES utf8".
С кодировкой дистанционно сложно "побороться", поэтому метод "проб и ошибок".
Стрелок-охотник
|
23.08.2010, 13:08 | #16 |
Форумчанин
Регистрация: 29.10.2008
Сообщений: 294
|
Не помогло. Но с этим я справлюсь. В екселе я умею создавать файлы txt в сразу в utf8.
Теперь я вспомнил, почему пошел по столь длинному пути (посты №4,6). По некоторым поставщикам прайсы содержат до 500000 поз. А txt и csv такой объем не поддерживают. Поэтому я сразу из xlsx гнал все это через migratinTool в базу. Видимо по таким прайсам придется создавать несколько csv файлов (file1, file2 и т.д.) и с помощью цикла в php перебирать их все. Есть проблема: создал поддомен, туда залил скрипт. Выдает ошибку 1045: Access denied for user 'имя'@'localhost' (using password: YES) |
23.08.2010, 15:59 | #17 |
Старожил
Регистрация: 09.09.2008
Сообщений: 2,624
|
уберите LOCAL, те LOAD DATA INFILE
Стрелок-охотник
|
23.08.2010, 16:32 | #18 |
Форумчанин
Регистрация: 29.10.2008
Сообщений: 294
|
Убрал сразу. Попытаюсь выяснить у хоста.
Вот что говорят:LOAD DATA INFILE у нас вообще не работает, Потому что нет таких прав для пользователя базы, мы их не даем. используйте ssh Последний раз редактировалось Maxx; 23.08.2010 в 16:48. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Объединить файлы в один с выборкой данных | serd | Microsoft Office Excel | 8 | 21.11.2009 11:35 |
Запрос к БД. PHP+MySQL | artemavd | PHP | 3 | 14.09.2009 02:51 |
Объединить в один файл | asale | Microsoft Office Excel | 2 | 12.02.2008 13:18 |
составить запрос к таблицам T1 и T2 | MonteCarlos | SQL, базы данных | 13 | 03.02.2008 14:05 |
Запрос по всем таблицам | Abay | SQL, базы данных | 3 | 27.09.2007 09:07 |