текстовой файл

DeltaDIM

Новичок
текстовой файл

Привет!
У меня есть текстовой файл вида:

Раздел1 ; пер.подраздел1 ; под подраздел1
Раздел1 ; пер.подраздел1 ; под подраздел2
Раздел1 ; пер.подраздел2 ; под подраздел3
Раздел1 ; пер.подраздел2 ; под подраздел4
Раздел2 ; др.подраздел1 ; под под подраздел1
Раздел2 ; др.подраздел1 ; под под подраздел2
Раздел2 ; др.подраздел2 ; под под подраздел3
Раздел2 ; др.подраздел2 ; под под подраздел4

Мне его нужно вставить в БД MySQL, в таком виде:

№ Name parent

1 Раздел1 0
2 Раздел2 0
3 пер.подраздел1 1
4 пер.подраздел2 1
5 др.подраздел1 2
6 др.подраздел2 2
7 под подраздел1 3
8 под подраздел2 3
9 под подраздел3 4
10 под подраздел4 4
11 под под подраздел1 5
12 под под подраздел2 5
13 под под подраздел3 6
14 под под подраздел4 6

Т.е. № - все числа по порядку, Name - название, parent - номер "родительского" раздела.
Подскажите как это можно осуществить.
 

Vlad DraKula

Guest
DeltaDIM
мда... не простую затачу ты выбрал...
для начала понадобится зачитать весь файл в памать.
пересортировать его там, а потом уж писать в базу, сразу на примику не получится!

а опчему именно такая структура таблици?
почему одна таблица?
 

DeltaDIM

Новичок
Дык, пишу скрипт инет магазина.
А прайс такого вида...

Ну и в скрипте shop-script 2 посмотрел, как тама таблица расположена, что-то подобное...

Вот и хочу сделать
 

IBSN

Новичок
может я тупой, но я не понял как ты хочешь таблицу строить... не вижу зависимости между этими двумя структурами..
 

DeltaDIM

Новичок
№ - порядок, Name - название, parent - номер (№) "родительского" раздела из текста.

если в тексте
Раздел1 ; пер.подраздел1 ; под подраздел1

пер.подраздел1 идет после Раздел1, то парент будет порядковый номер Раздел1 т.е. 1
 

Vlad DraKula

Guest
DeltaDIM
я писал нечто подобное, но я делал отдельно три таблицы.

хотя та логика которую предполагает такая структура задачи очень фичная, по сути это дерево которое поддерживает не ограниченное число вложенносте, но тут надо быть осторожным - эта штука без проблем может зацыкливаться!

DeltaDIM
если названия у всех разделов/подразделов/подподразделов разные то я наверное смогу предложитьалгоритм который позволит добавить все это в базу данных.
 

Фанат

oncle terrible
Команда форума
IBSN
у него совершенно идиотские высосанные из пальца названия, по которым хрен что поймешь
но, тем не менее, все строго.

дельта.
бегишь по своему тексту, выцепляешь уникальные первые солбцы и заносишь.
потом бегишь по по своему тексту, и выцепляешь уникальные сочетания первый-второй, и заносишь только второе, с парентом из первого.
потом бегишь в третий раз, выцепляя уникальные сочетания 123 и занося третье с парентом от второго

кажется так
 

StUV

Rotaredom
DeltaDIM
1. читать: [m]file[/m], [m]strings[/m]
2. смотреть последний пост Фанат
3. написать что-нить самостоятельно
4. если что/где конкретно непонятно - с конкретными вопросами в форум
--------------------
зы: еще вариант - идти в оффтоп с предложением денег за готовый скрипт
 

Ghecko

Новичок
ИМХО правильнее было бы сделать 3 таблицы.....
Ну а обработать текстовый файл не так уж сложно помоему... Напиши ф-ию которая будет разбирать его и распихивать названия разделов по разным массивам например...
 

StUV

Rotaredom
Ghecko
а почему не 10-20 ?=)
не растолкуешь свое ИМХО ?
какие данные в какую из трех таблиц ты собираешься вставлять ???
 

Vlad DraKula

Guest
DeltaDIM
названия у всех разделов/подразделов/подподразделов разные или нет?
 
Сверху