PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 5
Napst3r Отправлено: 21 Октября, 2015 - 08:34:59 • Тема: Загрузка файла CSV в MYSQL • Форум: Работа с файловой системой и файлами

Ответов: 7
Просмотров: 1558
Забыл уточнить, что я сам по себе не программист и начал заниматься этим из-за необходимости пару месяцев назад. Если есть возможность обработать данные через запятую из одной ячейки и рассортировать их по отдельным ячейкам в БД, буду признателен, если подскажете как.
Napst3r Отправлено: 20 Октября, 2015 - 22:54:50 • Тема: Загрузка файла CSV в MYSQL • Форум: Работа с файловой системой и файлами

Ответов: 7
Просмотров: 1558
Мелкий пишет:
Ни кода, ни схемы базы - ничего.

Napst3r пишет:
но csv файл выгружается из 1с

И каким образом это волнует вас? Да хоть телеметрия со спутника.
Входящий формат данных не может определять, как данные хранить вам. Его может быть из-за формата неудобно обрабатывать, но как у себя в базе хранить данные - решаете именно вы.
В CSV банально невозможно адекватно отразить связи М:М, поэтому там список id через разделитель вполне уместен и даже удобен для последующего импорта с нормальную реляционную схему.




Файл выгружается из 1с, далее запускается файл, который этот файл обрабатывает и загружает в БД в соответсвующие ячейки. Часть кода обработчика выше.
Поле Тип Сравнение Атрибуты Null По умолчанию Дополнительно
accessories varchar(255) cp1251_general_ci Да NULL
Napst3r Отправлено: 20 Октября, 2015 - 22:33:44 • Тема: Загрузка файла CSV в MYSQL • Форум: Работа с файловой системой и файлами

Ответов: 7
Просмотров: 1558
SAD пишет:
коллега намекает на то, что Вы не привели пример Вашего кода....


$item_1=intval(eregi_replace(' ','',$item[1]));
$sql = 'UPDATE item SET '.' accesories="'.$item_1.'"'
$result = mysql_query($sql);

Вот кусок кода, который обрабатывает нужную ячейку. Вроде задача не такая уж и сложная, но целый день не могу ее победить(
Napst3r Отправлено: 20 Октября, 2015 - 21:26:06 • Тема: Загрузка файла CSV в MYSQL • Форум: Работа с файловой системой и файлами

Ответов: 7
Просмотров: 1558
Мелкий пишет:
Одну минуту, соберу свежий libastral и протру хрустальный шар. Таааак..
Да, вижу проблему. У вас неправильно спроектирована схема базы данных. Писать какие-то идентификаторы в одно поле через запятую или другой разделитель - отвратная идея. Используйте нормальную таблицу связей и, соответственно этому, поправьте логику вашего импорта CSV.


Да я бы с радостью, но csv файл выгружается из 1с, этим занимается другой человек, сам в 1с не понимаю и приходится работать с тем, что есть.
Napst3r Отправлено: 20 Октября, 2015 - 17:54:51 • Тема: Загрузка файла CSV в MYSQL • Форум: Работа с файловой системой и файлами

Ответов: 7
Просмотров: 1558
Доброго времени суток. Имеется обработчик, который обрабатывает CSV файл и загружает его в БД. Информация такого плана- наличие, цены и тд. Недавно добавили еще одно поле, где через запятую указаны id товаров (скажем, сопутствующих товаров). Проблема в следующем - когда правлю обработчик, то в БД записывается только первое значение из нескольких, указанных через запятую. id разделены запятыми и, наверное, обработчик думает, что следующее значение после запятой не относится в нужной ячейке. Вопрос- как заставить обработчик записывать всю строку полностью в ячейку? Может поменять тип самого столбца в БД? Заранее благодарен.

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB