为用户提供创建唯一ID

时间:2016-08-21 18:17:07

标签: php mysql sql

我有一个用于提供用户信息的SQL表和一个提供的表。如果用户上传了优惠,则会获得一个唯一ID,以及" belongs_id"用户ID。

现在我想在我的数据库中已经提供商品后更改一个元素。但我唯一的信息是用户的ID。并且用户可以有多个优惠。

所以我的问题是:如何调用具有唯一ID的特定要约来更新它?

3 个答案:

答案 0 :(得分:1)

一种解决方案是,您可以将您的表格设为3列表格,如下所示:

+----+--------------+----------+
| id | belonging_id | offer_id |
+----+--------------+----------+
|    |              |          |

id列为AUTO_INCREMENTPRIMARY KEYbelonging_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']检索它并在查询中使用它。

如果你无法一步到位,那么你可以改为:

  1. SELECT * FROM offers WHERE belonging_id = $userID
  2. 将所有结果发送到前端,并附上其优惠ID
  3. 要求用户从匹配项中选择特定要约,并将其ID返回给服务器
  4. SELECT * FROM offers WHERE offer_id = $offerID并处理该记录