Заказ закрыт
PHP+MySQL. Работа с базой на три таблицы (15 столбцов).

Бюджет: 4 000 руб
52.35 $ – 45.79 €
Заказчик выбрал исполнителя:
Pavel Kostomarov  
Задание будет ниже. В прилагаемом док-файле написано оно же, но красивее. 

В архиве – скелеты для наполнения кодом. См. исходный код.

При разночтениях первичен ДОК-файл, а не скелеты. В любом случае лучше задать вопрос.

ТЗ адекватное и очень подробное, но вы можете отступать от него, если поймете суть и предложите свой путь.

Цена вопроса: 1200 грн. по Приватбанку или через любую другую систему, но % за конвертацию высчитываем с вас. Т.е. это примерно 4000 рублей. Только постоплата. 

Возможна работа по безопасной сделке, но как оговаривалось – сократиться гонорар.

Технологии: PHP+MySQL. Должно работать на хостинге от Хостпро. Дам кусочек своего хостинга, если надо.

Общаться смогу завтра во второй половине дня.

Задание подробнее:

Очень краткое описание:
Имеется довольно простая база данных. Три таблицы, третья из которых – связующая первых двух «многое-ко-многому». Нужно запрограммировать шесть файлов:
2 идентичные таблицы, которые выводят часть данных из первой таблицы и отчет из таблицы «многое ко многим». С первой таблицы – ссылка на редактирование записей. Со второй – ссылка на вывод не слишком сложного отчета со вставками.
Соответственно два других файла – это форма редактирования записей и отчет. В форму редактирования записей следует добавить еще форму импорта данных.
Пятый файл, подхватывает из GET две переменные (ключи многое-ко-многому) и вносит в таблицу текущую дату.
Шестой подхватывает из GET ключ к первой таблице и вносит в запись текущее время-дату.
Дамп таблицы с внесенными тестовыми данными прилагается
Таблицы
• accaunts – таблица вируалов
• all_id – таблица ID в которую будут собираться все данные
• id_and_accaunts – таблица связи аккаунтов с ID
Столбцы таблиц
create table accaunts
(
user_id int unsigned not null auto_increment primary key,
user_name char(30) not null,
user_mail char(30) not null,
user_password_1 char(30) not null,
user_password_2 char(30) not null,
user_status enum ("Развитие", "Работа", "Блокировано"),
last_time datetime,
user_region char(20) not null
);
create table all_id
(
friend_id int unsigned not null primary key,
friend_name char(30),
friend_mail char(40)
);
create table id_and_accaunts
(
friend_id int unsigned not null,
user_id int unsigned not null,
date_invite date,
relationship int unsigned not null,
primary key (friend_id, user_id)
);

Модуль 1
Файл 1 
Таблица из 6 столбцов со всеми записями из accaunts со следующими полями (3 столбца):
user_name
user_status
user_region
И такими отчетами в конце каждой строки (еще 3 столбца):
Количество записей с текущим user_id в таблице id_and_accaunts
Количество записей с текущим user_id в таблице id_and_accaunts и НЕ пустыми полями date_invite
Количество записей с текущим user_id в таблице id_and_accaunts и пустыми полями date_invite
В любом удобном месте этой таблицы ссылка на Файл 2, которая методом GET передает user_id текущей записи.
Под таблицей – ссылка «Добавить запись» на Файл 2, по открытию которой Файл 2 не редактирует запись в таблице accauns, а создает новую.
Должно получиться такое:

ФИО Состояние Регион Добавлено Приглашено Осталось пригласить
Anna Ivanova
Работа Москва 250 200 50
Ninf Ivanova
Работа Москва 249 127 122


Добавить

Файл 2. 
Три функции: редактирование выбранной записи в таблице accaunts, создание новой записи в этой же таблице, импорт записей из текстового файла/поля в две другие таблицы.
Содержит 2 формы. 
Первая, форма редактирования записей таблицы accaunts, используется и для создания записей. Содержит следующие поля:
accaunts.user_name
accaunts.user_mail
accaunts.user_password_1
accaunts.user_password_2
accaunts.user_status*
accaunts.user_region
Кнопка «Сохранить»
* – содержит выпадающий список из трех значений, т.к. это enum. Все остальное – текстовые поля.
При нажатии на кнопку «Сохранить» сохраняются внесенные изменения или создается новая запись в таблицу Виртуалов
Ключ таблицы – user_id – AUTO_INCREMENT. Так что его мы при добавлении и редактировании записей не трогаем.
Вторая форма – форма добавления записей в таблицы all_id и id_and_accaunts. В первую таблицу добавляются только записи в столбец friend_id. Во вторую – friend_id и user_id. 
friend_id мы берем или из многострочного текстового поля, или из текстового файла. Как именно – вы выбираете сами. Вот ссылка на аналогичное решение: habrahabr.ru/post/115433/.  
user_id мы же берем из GET.

Модуль 2
Файл 3
Таблица из 8 столбцов со всеми записями из accaunts со следующими полями (4 столбца):
user_name*
user_status
user_region
last_time
И такими отчетами в конце каждой строки (еще 3 столбца):
Количество записей с текущим user_id в таблице id_and_accaunts
Количество записей с текущим user_id в таблице id_and_accaunts и НЕ пустыми полями date_invite
Количество записей с текущим user_id в таблице id_and_accaunts и пустыми полями date_invite
* – это ссылка на Файл 4, которая методом GET передает user_id текущей записи. Примерно как в Файл 1.


!!! К О Н Ч И Л О С Ь    М Е С Т О. См. файл в приложении.
Опубликован 31.01.2015 в 02:50
Заказ находится в архиве

Выберите способ верификации:

Обновите страницу после прохождения верификации.