考虑下表,当用户登录产品页面时,如何避免用户通过HTML代码更改其他用户产品,因为产品表下没有userId
。
Table user
- userId
- name
Store
- storeId
- userId
product
- productId
- storeId
- price
答案 0 :(得分:2)
你做不到。在ownerId
表格中添加product
字段,或添加包含userProduct
和userId
的{{1}}表。
我不认为用户可以使用html代码更改数据库中的产品。
答案 1 :(得分:2)
如果您想基于每个用户对其进行限制,那么除非您更改架构结构,否则无法对其进行限制,因为用户和产品之间没有直接链接。如果您想在每个商店的基础上进行,即特定商店的任何用户都可以编辑该商店中的任何产品,那么下面的查询应该会启动
SELECT
[product info]
FROM
product p
INNER JOIN
store s ON p.storeId=s.storeId
INNER JOIN
user u ON s.userId=u.userId
WHERE
p.productId = [productId] AND
u.userId = [userId]
鉴于productId和userId,您可以检查该用户是否与该产品的商店相关。
答案 2 :(得分:0)
你想要SQL查询吗? 如是 你可以说
$query = "SELECT * FROM products WHERE storeid IN (SELECT storeid FROM store WHERE userid = ".$logged_user." ) ";
//$logged_user holds the id of the user logged
答案 3 :(得分:0)
您需要定义具有以下属性的第四个表
购买表 - 用户身份 - productId
并保留用户购买商品的信息。
原始产品表不应用于保存用户所做的更改。