Добавление различных видео к продуктам - PullRequest
0 голосов
/ 24 декабря 2018

Для школы я должен сделать интернет-магазин.У нас есть база данных с продуктами и ее деталями, где мы работаем.Большая часть этого делается в HTML.На сайт я хочу добавить видео для продукта.Я получил этот бит только из некоторых поисков Google:

<video width="320" height="240" controls>
   <source src="movie.mp4" type="video/mp4">
   <source src="movie.ogg" type="video/ogg">
</video>

Теперь проблема в том, что это для одного конкретного видео.Поскольку продукты взяты из базы данных, для каждого продукта нет конкретных строк кода.Итак, как мне связать разные видео для каждого из продуктов в базе данных?

Вот как выглядит сайт сейчас, красный бит указывает, где я хочу, чтобы видео было.

Заранее спасибо !!

1 Ответ

0 голосов
/ 24 декабря 2018

Я использую MySQL.

Допустим, у вас есть таблица с именем product, в которой хранится информация о ваших продуктах.

1) Если вам нужно одно видео для одногоproduct (это называется взаимно-однозначным отношением), тогда должен быть столбец, в котором хранится путь к видео, либо из Интернета, либо на вашем компьютере.Заявление MySQL выглядит следующим образом:

CREATE TABLE `webshop`.`product` (
`product_id` INT NOT NULL AUTO_INCREMENT,
`title` VARCHAR(45) NOT NULL,
`description` VARCHAR(100) NOT NULL,
`video_path` VARCHAR(45) NOT NULL,
PRIMARY KEY (`product_id`));

И чтобы получить продукты, используйте:

SELECT * FROM product;

2) Если к вашему продукту может быть прикреплено несколько видео (многие-к-одному)отношения), вам понадобится 3 таблицы: одна для продуктов:

CREATE TABLE `webshop`.`product` (
`product_id` INT NOT NULL AUTO_INCREMENT,
`title` VARCHAR(45) NOT NULL,
`description` VARCHAR(100) NOT NULL,
PRIMARY KEY (`product_id`));

одна для пути:

CREATE TABLE `path` (
`path_id` int(11) NOT NULL AUTO_INCREMENT,
`video_path` varchar(45) DEFAULT NULL,
 PRIMARY KEY (`path_id`));

, затем создайте другую базу данных, которая будет содержать идентификатор продукта и идентификатор пути,Оператор создания таблицы должен выглядеть примерно так:

 CREATE TABLE `product_path` (
 `product_id` int(11) NOT NULL,
 `path_id` int(11) NOT NULL,
 PRIMARY KEY (`product_id`,`path_id`),
 KEY `fk_path_id_idx` (`path_id`),
 CONSTRAINT `fk_path_id` FOREIGN KEY (`path_id`) REFERENCES `path` 
 (`path_id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
 CONSTRAINT `fk_product_id` FOREIGN KEY (`product_id`) REFERENCES `product` 
 (`product_id`) ON DELETE CASCADE ON UPDATE CASCADE);

Чтобы получить все продукты:

SELECT * FROM product 
INNER JOIN product_path ON product.product_id = product_path.product_id 
INNER JOIN path ON product_path.path_id = path.path_id;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...