Есть файлы .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, 'Олег Васюк', 'Текст автора', '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, Анонс', 'Текст автора', '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.

16 лет назад
oze
59 лет
17 лет в сервисе
Был
14 лет назад

Выбранный исполнитель

krab
39 лет
19 лет в сервисе
Был
9 лет назад
16 лет назад
$10
2 дня
Выше всяких похвал. В предложенное тех. задание внёс коррективы, позволившие полностью автоматизировать процесс работы. Работу выполнил быстро, без проблем. Всегда на связи в условленное время. Скрипт создал грамотно, краткий и читабельный. Чувствуется рука и голова профессионала.
Никаких претензий к заказчику не имею. Приятный в общении, добросовестный человек.

Заявки фрилансеров

krab
39 лет
19 лет в сервисе
Был
9 лет назад
16 лет назад