我有一个用于提供用户信息的SQL表和一个提供的表。如果用户上传了优惠,则会获得一个唯一ID,以及" belongs_id"用户ID。
现在我想在我的数据库中已经提供商品后更改一个元素。但我唯一的信息是用户的ID。并且用户可以有多个优惠。
所以我的问题是:如何调用具有唯一ID的特定要约来更新它?
答案 0 :(得分:1)
一种解决方案是,您可以将您的表格设为3列表格,如下所示:
+----+--------------+----------+
| id | belonging_id | offer_id |
+----+--------------+----------+
| | | |
id
列为AUTO_INCREMENT
,PRIMARY KEY
,belonging_id
为用户ID,offer_id
为您的唯一优惠ID。这样,您就可以满足以下条件,
用户可以有多个优惠。
示例表格代码如下:
+----+--------------+----------+
| id | belonging_id | offer_id |
+----+--------------+----------+
| 1 | A | XYZ |
| 2 | A | ABC |
| 3 | A | PQR |
| 4 | B | IJK |
+----+--------------+----------+
现在,您可以使用<belonging_id, offer_id>
列值选择特定的id
对。
旁注:如果您打算使用此方法并在此表中插入记录,请查看以下链接以获取最后插入的ID(根据您的扩展名选择一个),
答案 1 :(得分:0)
请告诉我们您的SQL表格方案。
为了帮助您,我认为您的请求应该是:
SELECT * FROM offers WHERE belonging_id = id_user
编辑:
如果您想在所有用户的优惠中检索特定优惠,则需要在表格中提供unique identifier
(类似主键或UNIQUE
字段)。
在表格中插入数据时,可以检索最后插入的ID。
例如,在 PHP (使用PDO扩展)中,您可以执行以下操作:echo $db->lastInsertId();
编辑2:
假设用户在数据库中发送商品后,在页面send_offer.php
上结束。
然后,您应该生成一个唯一的链接,例如:http://edit_offer.php/?id_offer=the_id_of_the_offer_just_sent
此唯一链接应存储在您的表格优惠中,因此当用户想要编辑其中一个优惠时,他只需使用此链接访问您的网站。
此链接应指向一个网页,其中有一个表单,您可以在其中加载与上述链接相对应的商品数据。
答案 2 :(得分:0)
您提出的问题没有编码解决方案,因为它没有逻辑解决方案。就好像我给你一罐蓝白色的大理石一样,我请你带一个特定的蓝色大理石。所有你知道的颜色是没有进一步信息,没有办法可靠地得到我想要的大理石。
不要试图在服务器端设计解决方案,而是转向前端。找出如何发送将唯一标识请求的信息以及userID。例如,在请求process.php?offer_ID=123
中添加商品ID,以便您可以使用$_GET['offer_id']
检索它并在查询中使用它。
如果你无法一步到位,那么你可以改为:
SELECT * FROM offers WHERE belonging_id = $userID
SELECT * FROM offers WHERE offer_id = $offerID
并处理该记录