Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Прайс в формате CSV в базу MySQL
|
|||
|---|---|---|---|
|
#18+
Здравствуйте форумчане!) Мне нужно перенести прайс из файла в формате CSV в базу MySQL без использовании php функции fgetcsv. Подскажите как поступить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 13:02 |
|
||
|
Прайс в формате CSV в базу MySQL
|
|||
|---|---|---|---|
|
#18+
load data infile ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 13:24 |
|
||
|
Прайс в формате CSV в базу MySQL
|
|||
|---|---|---|---|
|
#18+
Например, так ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 13:25 |
|
||
|
Прайс в формате CSV в базу MySQL
|
|||
|---|---|---|---|
|
#18+
а как сделать чтобы дерево построило.. по сути nested tree??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 13:43 |
|
||
|
Прайс в формате CSV в базу MySQL
|
|||
|---|---|---|---|
|
#18+
Дерево определяется с уровнем вложенности.. Формат CSV файла обычный: [qoute] Код;НазваниеКаталога;; Код;НазваниеКаталога;; Код;НазваниеТовара;Цена;Тип(шт,кг) Код;НазваниеКаталога;; Код;НазваниеТовара;Цена;Тип(шт,кг) Код;НазваниеКаталога;; Код;НазваниеТовара;Цена;Тип(шт,кг) [/qoute] Как из него дерево построить?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 13:49 |
|
||
|
Прайс в формате CSV в базу MySQL
|
|||
|---|---|---|---|
|
#18+
Либо переделать этот файл, разбив на два и добавив к товарам ссылки на категории. Либо читать построчно и в зависимости от неизвестно чего (наличие/отсутствие цены и типа?) записывать данные в ту или иную таблицу. Барабанова Эльвирабез использовании php функции fgetcsvНу дык есть множество способов читать файл :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 14:01 |
|
||
|
Прайс в формате CSV в базу MySQL
|
|||
|---|---|---|---|
|
#18+
vkle, Да так и хочется сделать построчно считывать... Категории различаются отсутствием Цен и Типов... В то же время хочется сделать контроль по коду... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 14:05 |
|
||
|
Прайс в формате CSV в базу MySQL
|
|||
|---|---|---|---|
|
#18+
Только не хочется чтобы дерево наезжала на другое дерево) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 14:06 |
|
||
|
Прайс в формате CSV в базу MySQL
|
|||
|---|---|---|---|
|
#18+
Мухи - отдельно, котлеты - отдельно. В смысле, каждую сущность хранить в отдельной таблице. Что касается дерева, так не видать даже намеков. Показана линейная последовательность без ссылки на родителя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 14:21 |
|
||
|
Прайс в формате CSV в базу MySQL
|
|||
|---|---|---|---|
|
#18+
Получается что в первое время нужно вручную забивать? Только при изменении изменять старые записи в базе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 14:23 |
|
||
|
Прайс в формате CSV в базу MySQL
|
|||
|---|---|---|---|
|
#18+
Сейчас то каким образом по этим данным дерево можно построить? Не в коде, а просто карандашом на бумаге. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 14:26 |
|
||
|
Прайс в формате CSV в базу MySQL
|
|||
|---|---|---|---|
|
#18+
1ур. Каталог \- 2ур Каталог \- 3ур Каталог \- Товар \- 3ур Каталог \- Товар ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 15:52 |
|
||
|
Прайс в формате CSV в базу MySQL
|
|||
|---|---|---|---|
|
#18+
Барабанова Эльвира1ур. Каталог \- 2ур Каталог \- 3ур КаталогА как Вы определили что это 3 уровень каталога, а не второй? Вот на мой взгляд, это второй уровень. А предыдущий второй уровень просто не содержит товаров (пустой). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 16:04 |
|
||
|
Прайс в формате CSV в базу MySQL
|
|||
|---|---|---|---|
|
#18+
Именно так и нужно.. Прайс0235;1урКаталог;; 5023;2урКаталог;; 9142;3урКаталог;; 4912;3урТовар;32руб;шт 2918;3урКаталог;; 2832;3урТовар;38руб;шт ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 16:43 |
|
||
|
Прайс в формате CSV в базу MySQL
|
|||
|---|---|---|---|
|
#18+
Барабанова ЭльвираИменно так и нужно..Другими словами, "я это просто знаю". Вот если б удалось составить алгоритм соотнесения детей и родителей - тады можно было бы автоматизировать заливку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 16:47 |
|
||
|
Прайс в формате CSV в базу MySQL
|
|||
|---|---|---|---|
|
#18+
Алгоритм надеюсь очень простой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 16:58 |
|
||
|
Прайс в формате CSV в базу MySQL
|
|||
|---|---|---|---|
|
#18+
Это уж Вам виднее. Нарисуйте на бумаге, формализуйте принципы соотнесения одного с другим. Когда "вручную" это будет работать без ошибок, тогда уже можно говорить о простоте или сложности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 17:00 |
|
||
|
Прайс в формате CSV в базу MySQL
|
|||
|---|---|---|---|
|
#18+
Код для разбора строк: Код: php 1. 2. 3. 4. 5. 6. 7. А в базу как с учетом уровней? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 17:11 |
|
||
|
Прайс в формате CSV в базу MySQL
|
|||
|---|---|---|---|
|
#18+
Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Кажется так лучше немного? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 17:18 |
|
||
|
Прайс в формате CSV в базу MySQL
|
|||
|---|---|---|---|
|
#18+
Или так сделать? тут немного легче по учету кода сделать? Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 17:22 |
|
||
|
Прайс в формате CSV в базу MySQL
|
|||
|---|---|---|---|
|
#18+
Ну как... Если правильно понимаю, поле "Код" - как раз и есть уникальный идентификатор каталога или товара. Попался новый каталог - инсертите его в таблицу каталога, указав еще и идентификатор родительского. Попался товар - инсертите его в таблицу товаров, но со ссылкой на идентификатор каталога. В первом приближении так. Если далее оптимизировать код, то можно сократить число запросов до двух (на не слишком больших объемах данных). Сначала собираете запрос на инсерт сразу всех элементов, а потом разом заносите данные в таблицу. Если запрос получается слишком большим (впираемся в ограничение памяти или ограничение sql-сервера), то инсертить порциями. По коду замечание. Вы указали fgets($fp,512) что читать нужно не более 511 байт. Тут нужно быть уверенным что строк бОльшей длины в файле не существует или вообще не указывать длину читаемого фрагмента. В остальной код не вникал, ибо камментов там все равно нет, а алгоритм определения уровней каталога я так и не понял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 17:59 |
|
||
|
Прайс в формате CSV в базу MySQL
|
|||
|---|---|---|---|
|
#18+
vkle, vkleа алгоритм определения уровней каталога я так и не понял. алгоритм определения уровней каталога Код: php 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2013, 16:45 |
|
||
|
Прайс в формате CSV в базу MySQL
|
|||
|---|---|---|---|
|
#18+
Читабельный код: Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2013, 16:51 |
|
||
|
Прайс в формате CSV в базу MySQL
|
|||
|---|---|---|---|
|
#18+
Барабанова Эльвираалгоритм определения уровней каталога Код: php 1. 2. 3. 4. 5. Это распознавание каталога и распознавание товара. А как распознать вот это? Барабанова Эльвира 1 ур. Каталог \- 2 ур Каталог \- 3 ур Каталог \- Товар \- 3 ур Каталог \- ТоварПочему должны быть именно эти цифры, а не другие? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2013, 17:04 |
|
||
|
Прайс в формате CSV в базу MySQL
|
|||
|---|---|---|---|
|
#18+
Вот и я этого тоже хочу понять) Кто мне поможет с решение этой задачи. Неужели ещё 1 переменную втыкать? до условия цикла и только потом в цикле перебирать? то есть инкрементировать при условии каталога? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2013, 18:41 |
|
||
|
|

start [/forum/topic.php?fid=23&fpage=101&tid=1463373]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
49ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
| others: | 251ms |
| total: | 418ms |

| 0 / 0 |
