PHP MySQL добавить еще одну функцию строки - PullRequest
1 голос
/ 10 августа 2011

Я начинаю изучать PHP;

У меня есть две таблицы в моей базе данных:

  1. Список брендов, который содержит Brand_ID, Brand_Name и Brand_Description.
  2. Список строк продукта, содержащий Line_ID, Line_Name.

Я хочу создать третью таблицу с именем Предлагаемые продукты, которая содержит Offer_Id, Brand_ID, Line_Name - как мне управлять этим с помощью внешних ключей?

После создания таблицы я хочу создать страницу php, которая позволит пользователям заполнять третью таблицу на

  1. Выбор бренда из выпадающего списка
  2. Выбор названия строки из выпадающего списка
  3. Рядом с ним есть кнопка «Добавить строку», которая при нажатии отобразит еще один ряд ниже первого, чтобы снова сделать номера 1 и 2 и так далее
  4. Также присутствует кнопка сохранения, которая при нажатии, наконец, сохранит запись в моей базе данных.

как я могу это сделать? пожалуйста помогите

1 Ответ

1 голос
/ 22 августа 2011

Создание таблицы.

Ваша третья таблица должна хранить только Line_ID и Brand_ID и (по любой причине) вы также хотите Offer_ID.

CREATE TABLE `Offered Products` (
    /* define columns */
    Offer_ID  INT NOT NULL AUTO_INCREMENT,
    Brand_ID  INT NOT NULL,
    Line_ID   INT NOT NULL,

    /* define primary key */
    PRIMARY KEY (Offer_ID)

    /* define foreign keys */
    FOREIGN KEY Brand_ID (Brand_ID)
        REFERENCES `Brands List` (Brand_ID)
    FOREIGN KEY Line_ID (Line_ID)
        REFERENCES `Lines List` (Line_ID)
);

Предполагается, что таблица Lines List (с пробелом) и таблица Brand List имеют Line_ID и Brand_ID, соответственно, определенные как первичные ключи.

Создание формы.

Разработка формы с использованием HTML и PHP.Заполните каждый список из соответствующей таблицы.Я не собираюсь предоставлять код для этого;это должно быть прямо вперед.

Вставка в таблицу.

INSERT INTO `Offered Products` (Brand_ID, Line_ID) VALUES (###, ###)

### представляет идентификационные номера из HTML-формы.

Присоединение к таблицам.

Дляполучить информацию из всех таблиц, к которым вы можете присоединиться, как показано ниже.

SELECT * FROM `Offered Products` as op 
    JOIN `Brand List` as bl ON bl.Brand_ID = op.Brand_ID
    JOIN `Line List` as ll on ll.Line_ID = op.Line_ID

Другие примечания.

Чтобы использовать внешние ключи в MySQL, вам необходимо использовать механизм InnoDB.Использование myisam не позволит использовать внешние ключи, но вы все равно можете присоединиться к таблицам, как показано, для достижения аналогичного результата.

Избегайте использования пробелов в именах таблиц, если вы действительно это сделали.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...