Добавьте несколько полей в базу данных MySQL - PullRequest
0 голосов
/ 11 мая 2010

Я довольно новичок в создании сайтов с PHP и MySQL, но пытаюсь добиться следующего:

В процессе онлайн-регистрации промоутер может зарегистрировать до 20 бойцов для получения медицинских услуг тестирования. Информация о каждом бойце сохраняется в SESSION как $ _SESSION ['FnumAttr'], где num - это число, а Attr - определяемый атрибут (имя, фамилия и т. Д.). В конце регистрации мне нужно, чтобы ВСЕ введенные данные были сохранены в БД MySQL и в конечном итоге отправлены в другое место. Менеджер может зарегистрировать от 1 до 20 бойцов за раз, и любая вещь меньше 20 будет просто не иметь данных (ноль) в своей ячейке.

В настоящее время я создаю базу данных в MySQL, но если мне нужно ввести 20 атрибутов для 20 различных бойцов, это может занять целый день (не говоря уже о вызове INSERT INTO, который мне придется делать в конце всех это).

Есть ли способ создать эти поля быстрее, чем переходить строка за строкой и добавлять: F4_Firstname, введите текст, длину, разрешить ноль и т. Д.?

Ответы [ 2 ]

1 голос
/ 11 мая 2010

Это похоже на отношения один ко многим. Вместо 20 столбцов создайте новую таблицу под названием «Истребители», которая содержит идентификатор истребителя, parent_table_id и информацию о истребителе.

Когда вам нужна информация о бойце, вы соединяете таблицу бойцов с родительской таблицей parent_table_id.

Чтобы загрузить эту новую таблицу, просто переберите исходный массив и введите оператор вставки для любых записей, которые, по вашему мнению, не равны NULL. Если вы сделаете PK новой таблицы конкатенацией между fighter_id и parent_table_id, то вы можете использовать 'num' из ваших входных данных непосредственно как fighter_id.

0 голосов
/ 11 мая 2010

Вы можете использовать phpMyAdmin

...