записи по порядку

Onik

Новичок
записи по порядке

товарищи вот такая ситуация возникла,

есть данные типа (в формате тхт)
75|Разное[ktname]Разное|Юрий.|Нежурнал. Созданный твоими руками.|П|Сайт предназначен , .|30.04.2009|171446|76|no|764999|1241095446|Москва||||||
их много и не сортированы по табличкам а в обычном файле типа свалки(

нужно отредактировать в таблицу хотя бы в excel и оттуда записать в mysql

каким образом это можно сделать?
можно ли открыть эти записи по порядке или же нет?
 

StiM

Новичок
текстовый файл -> excel -> mysql ?! прелесно.

запихай данные в mysql и выводи их в том порядке в котором тебе нужно.
 

damngood

Мозг был, но ушел...
StiM
Человек не знает как это сделать, зачем советовать?

Onik
Открой файл в экселе с разделителями, как csv
 

damngood

Мозг был, но ушел...
С.
Потому что экселем открыть это гораздо проще, чем написать парсер по совету Стима, тут и секретарь справится, подсказку я дал. Еще вопросы?
 

Onik

Новичок
damngood
в экселе открывает без разделителя упорядочив по строчке,

мне нужно получить или посредством php значение между
! [бла-бла] !
или через эксел в табличке что бы каждое значение было в отдельной столбике а не все вместе как щась открывает
как это сделать?
 

damngood

Мозг был, но ушел...
1. Открываешь эксель
2. Открыть файл > Текстовые файлы (..... *.csv)
2.1 там указываешь что данные не фиксированной ширины а с разделителями, жмешь далее.
3. настраиваешь разделитель на |
3.1 Формат ячеек - общий.

Все.

-~{}~ 30.11.09 16:09:

Потом создаешь в mysql таблицу для данных, которые будешь импортировать, (сохраняешь свой файл как csv) с количеством полей, как у тебя в файле. Потом выбираешь свою таблицу с БД, куда заливать будешь инфу и заливаешь файл как CSV
 

nedion

Новичок
Можно просто переименовть файл в txt и Excel сам пердложит выбрать разделитель при открытии файла.
 

damngood

Мозг был, но ушел...
dimagolov
Ну, что делать) Думаю так было бы проще, чем если бы я стал ему описывать алгоритм парсинга его файла =)
 

vovanium

Новичок
Зачем парсинг? В MySQL есть для этого LOAD DATA. Так что нужно просто создать табличку по количеству полей, и указать в LOAD DATA файл и разделители. что-то типа
[sql]LOAD DATA INFILE 'result.txt' INTO TABLE `test` FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\r\n' ;[/sql]
 

Onik

Новичок
пошел по другому пути
файлы правлю в ексел
там делаю в csv
оттуда хочу открыть записи через файл и с запросам записать данные в mysql

PHP:
$data = File("board(2).csv");  
$dat_arr = explode(";", $data[0]); 
for ($p=0;$p<count($dat_arr);$p++ ) { 
echo "$dat_arr[$p]";
} 

echo "конец";
2 вопроса если можно.
1. как получить определенный столбец или строчку что бы использовать как переменную
2. в этом коде данные отображаются в полный список хотел бы в канце каждой строчки получить к примеру слово конец. (что бы сделать кнопочку для записи в mysql):(
 

Onik

Новичок
Делаю так,

PHP:
LOAD DATA INFILE 'D:\\AppServ\\www\\test\\28.txt' INTO TABLE `test2`     FIELDS TERMINATED BY '|' LINES TERMINATED BY '\r';
записи не пишет нормально

 

Onik

Новичок
с записем разобрался
как разделить такую строку?
имя1[ktname]имя 2
и получить отдельно {Имя} {имя 2}
 

dimagolov

Новичок
замени в исходном файое [ktname] на | и добавь | в тех строках, где [ktname] отсутствует.
а можно уже в базе прогнать запросом разделение по [ktname]
 
Сверху