如何将用户购买的商品保存到数据库中,防止他再次购买
How to save the items that a user bought in the database and prevent him to buy it again
我需要一些帮助来存储用户购买和下载的文件。我有一个包含文件及其 ID 的 table。当用户购买并归档时,它只是将他重定向到下载 link。但是我想让 PHP 脚本将用户购买的文件的 ID 插入到数据库中。但是如何处理多个文件并将其 ID 存储在每个用户的 1 个字段中。例如我有 10 个文件,用户购买了文件 1、2、3、8、9。我想将这些数字存储在数据库中,并用一段时间显示与这些 ID 对应的 link。
您需要创建一个 table user_files
,它有两列,user_id
和 file_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 组合是否存在于 table.
中
我需要一些帮助来存储用户购买和下载的文件。我有一个包含文件及其 ID 的 table。当用户购买并归档时,它只是将他重定向到下载 link。但是我想让 PHP 脚本将用户购买的文件的 ID 插入到数据库中。但是如何处理多个文件并将其 ID 存储在每个用户的 1 个字段中。例如我有 10 个文件,用户购买了文件 1、2、3、8、9。我想将这些数字存储在数据库中,并用一段时间显示与这些 ID 对应的 link。
您需要创建一个 table user_files
,它有两列,user_id
和 file_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 组合是否存在于 table.
中