我有一个用于用户信息和提供表的SQL表。如果用户上传优惠,它会得到一个唯一的ID,以及具有用户ID的“belongs_id”。为用户提供创建唯一ID
现在我想在优惠已经在我的数据库中后更改元素。但唯一的信息是用户的ID。用户可以有多个优惠。
所以我的问题是:如何使用唯一ID调用一个特定优惠来更新它?
我有一个用于用户信息和提供表的SQL表。如果用户上传优惠,它会得到一个唯一的ID,以及具有用户ID的“belongs_id”。为用户提供创建唯一ID
现在我想在优惠已经在我的数据库中后更改元素。但唯一的信息是用户的ID。用户可以有多个优惠。
所以我的问题是:如何使用唯一ID调用一个特定优惠来更新它?
一种解决办法是,你可以让你的表作为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 |
+----+--------------+----------+
,可以选择使用id
列值的特定<belonging_id, offer_id>
对。
旁注:如果你打算使用此方法,并在此表中插入记录,看看下面的链接来获得最后插入的ID(选择一个按你的扩展名),
请给我们你的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
这种独特的链接应存放在你的桌子报价,所以当用户希望编辑他的提议之一,他只有用这个链接来访问你的网站。
此链接应该指向一个网页,其中有一个表单,您需要在其中载入与上述链接对应的商品数据。
我也想过,但如果用户可以有多个优惠,它将不再是唯一的... –
是的,这应该工作,谢谢! –
什么你问有没有编码解决方案,因为它没有逻辑解决方案就好像我给了你一罐蓝白色的弹珠,并要求你给我一个特定的蓝色大理石。所有你知道的是颜色,所以没有更多的信息,没有办法可靠地得到我想要的大理石。
而不是尝试在服务器端设计解决方案,转向前端。找出如何发送唯一标识请求的信息以及用户标识。例如,将请求ID包含在请求process.php?offer_ID=123
中,以便您可以使用$_GET['offer_id']
检索它并在查询中使用它。
如果你没有办法做到这一切在一个步骤中,您可以改为:
SELECT * FROM offers WHERE belonging_id = $userID
SELECT * FROM offers WHERE offer_id = $offerID
和过程记录
“我的唯一信息是用户的ID”。你为什么只有用户的ID?你可以得到报价的ID吗? (因为每个优惠只能属于一个用户,所以很容易找到该优惠所属的用户,而不是其他方式。) – Chris
与克里斯相同Q.如果您所知道的只是用户的ID,那么解决方案就是改进提交请求的前端代码,以便它包含可以唯一标识该提议的信息。 – BeetleJuice