Скрипт на PHP для обработки текстовых файлов

Web/сайты Прочее

Был(а) онлайн: 26.04.20 14:45
Umen 26 лет

1.0 Был(а) онлайн: 26.04.20 14:45

Недавно
Есть файлы .sql из одной базы данных, которые нужно конвертировать в иную.

В обоих файлах .sql следует номер таблицы (Message XX), наименования и типы полей построчно, и собственно строки базы данных, скажем:
DROP TABLE IF EXISTS `Message23`;
CREATE TABLE `Message23` (
`Message_ID` int(11) NOT NULL auto_increment,
`User_ID` int(11) NOT NULL default '0',
`Subdivision_ID` int(11) NOT NULL default '0',
`Sub_Class_ID` int(11) NOT NULL default '0',
`Author` varchar(255) default NULL,
`Text` text NOT NULL,
`Date` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`Message_ID`),
UNIQUE KEY `Sub_Class_ID_2` (`Sub_Class_ID`,`Message_ID`),
KEY `User_ID` (`User_ID`),
) TYPE=MyISAM AUTO_INCREMENT=2 AUTO_INCREMENT=2 ;

Но не совпадают ни номера таблиц, ни порядок следования полей, ни число полей.

Требуется в интерактивном режиме изменить порядок следования полей начальной базы данных в соответствии с полями новой базы.
То есть, в левой части экрана возникает список полей новой базы данных, выбираемого скриптом из указываемого пользователем файла. Справа от всякого поля - выпадающий список полей из иного файла (ветхая база), также указываемого пользователем. И ещё правее - отображение выбранного поля.
Если число полей в ветхой базе поменьше, чем в новой, в новой требуется создание полей задаваемого пользователем типа (int(11), varchar(255), text, datetime - они по-различному пишутся в строках таблиц базы данных).

Позже этого пользователь должен указать несколько (скажем, 5) ветхих значений полей и значений, на которые их, соотвественно, требуется заменить. Это требуется для полей
`Subdivision_ID`
`Sub_Class_ID`

Позже этих указаний - конвертация с соотвествующей построчной заменой номера таблицы, значений полей `Subdivision_ID` и `Sub_Class_ID`, а также рокировкой значений полей в указанном пользователем порядке.

Скажем, в ветхой базе строки выглядит так:
INSERT INTO `Message23` (`Message_ID`, `User_ID`, `Subdivision_ID`, `Sub_Class_ID`, `Author`, `Text_Small`, `Date_Beg`) VALUES (1, 214, 17, 9, 'Иван Русик', 'Текст статьи', '2000-01-01 01:14:32');
INSERT INTO `Message23` (`Message_ID`, `User_ID`, `Subdivision_ID`, `Sub_Class_ID`, `Author`, `Text_Smalll`, `Date_Beg`) VALUES (2, 215, 78, 9, 'Олег Васюк', '<a href=http://bb.com>Текст автора</a>', '2000-01-02 00:10:00');

В новой обязаны выглядеть так:
INSERT INTO `Message58` (`Message_ID`, `User_ID`, `Subdivision_ID`, `Sub_Class_ID`, `Anonse`, `Text_Fulll`, `Date_End`, `Author`) VALUES (1, 12, 63, 9, Анонс', 'Текст статьи', '2000-01-01 01:14:32', 'Иван Русик');
INSERT INTO `Message58` (`Message_ID`, `User_ID`, `Subdivision_ID`, `Sub_Class_ID`, `Anonse`, `Text_Full`, `Date_End`, `Author`) VALUES (2, 15, 68, 9, Анонс', '<a href=http://bb.com>Текст автора</a>', '2000-01-02 00:10:00', 'Олег Васюк');

Где:
`MessageXX` ветхое значение - 23, новое - 58;
`Subdivision_ID` ветхое значение - 214, новое - 12;
`Sub_Class_ID` ветхие значения - 17 и 78, новые - 63 и 68;
`Anonse` ветхое значение - поля не было, новое - пустое поле типа "text";

В всякий строке базы данных может быть несколько гиперссылок (HTML), они обязаны быть сохранены.
Скрипт должен быть написан однозначно на PHP

Предложения с указанием цены оставляйте тут, либо в почту oze псина tut тчк by, либо в аську 419-586-800.

Чтобы добавить заявку к этому заказу, нужно войти или зарегистрироваться

Мой блок

26.04.20 14:45
Umen 26