html - 为产品添加不同的视频
问题描述
对于学校,我必须建立一个网上商店。我们有一个数据库,其中包含我们使用的产品及其详细信息。其中大部分是在 html 中完成的。到我想为产品添加视频的网站。我只从一些谷歌搜索中得到了这一点:
<video width="320" height="240" controls>
<source src="movie.mp4" type="video/mp4">
<source src="movie.ogg" type="video/ogg">
</video>
现在的问题是它适用于一个特定的视频。由于产品是从数据库中取出的,因此每个产品都没有特定的代码行。那么如何为数据库中的每个产品绑定不同的视频呢?
提前致谢!!
解决方案
我正在使用 MySQL。
假设您有一个名为“product”的表,其中存储有关您的产品的信息。
1)如果您需要单个产品的单个视频(称为一对一关系),那么应该有一列存储视频的路径,无论是来自互联网还是在您的机器上。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`));
然后创建另一个数据库,它将包含产品的 id 和路径的 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;
推荐阅读
- python - 使用默认为无过滤器的函数过滤熊猫数据框
- vue.js - 使用“Vue HTML to Paper”单击“打印”按钮时出错
- django - 如何在 Django 中解决“IntegrityError at /measurements/ NOT NULL 约束失败:diabetes_measurements.patient_id”探针
- android-studio - 禁用在 Android Studio 中阻止光标的内联提示
- dataframe - 如何使用具有不同列号pyspark的两个数据框的联合
- sql - 如何在 SQL Server 的触发器中获取多个字段的旧值和新值?
- ssl - Postman 中的错误:错误:写入 EPROTO 8768:错误:1408F10B:SSL 例程:ssl3_get_record:错误的版本号:
- html - 悬停在 DIV 上(增加高度 - 顶部和底部)而不影响其他 DIV
- c# - serialzie c#对象到不同类型的json数组
- python - Wagtail:如何覆盖 PageModel 的创建/编辑模板