如何在数据库中保存用户购买的商品并阻止其再次购买

问题描述 投票:0回答:1

我需要一些帮助来存储用户购买和下载的文件。我有一个包含文件及其ID的表格。用户购买并归档时,只是将他重定向到下载链接。但是我想让PHP脚本将用户购买的文件ID插入数据库。但是如何处理多个文件并将其ID存储在每个用户的1个字段中。例如,我有10个文件,用户购买了1,2,3,8,9个文件。我想将这些数字存储在数据库中,并花一些时间显示与这些ID对应的链接。

php mysql field store
1个回答
0
投票

您需要创建具有两列的表user_filesuser_idfile_id组成一个复合主键:

CREATE TABLE user_files (
  user_id         INT NOT NULL,
  file_id         INT NOT NULL,
  PRIMARY KEY (user_id, file_id),
  FOREIGN KEY (user_id) REFERENCES users(id),
  FOREIGN KEY (file_id) REFERENCES files(id),
);

如果用户1购买文件1,2,3,8,9,则可以这样做

INSERT INTO user_files (user_id, file_id) VALUES (1,1), (1,2), (1,3), (1,8), (1,9)

然后,当您需要检查用户是否已购买时,只需检查表中是否存在user_id / file_id组合。

© www.soinside.com 2019 - 2024. All rights reserved.