获取用户= $ _session ['username']的行数

用户名

我有一个带有列的表: (ID, UserID, Slot, ItemID, Quant)

可以说我有一行值: ('1', '10', '2', '35', '200');

该行的广告位值为2。我在广告资源标签中有20个广告位。我想按升序插入数据。有没有一种方法可以写查询来检查是否使用了最后一个插槽,以便可以将项目分配给下一个插槽?因此,如果已使用插槽2,则下一项将消耗插槽3。

还是有一种方法可以将多个变量与一个数值进行比较,而不必使两个变量都等于该数字,所以像

if($var1 or $var2 or $var3 == 1) {
excute this code
}

而不是执行以下操作:

if($var1 ==1) {
  execute code
}
if($var2 == 1) {
  execute code
}
if($var3 == 1) {
  execute code
}
欧根·里克(Eugen Rieck)

我讨厌成为坏消息的承担者,但是恕我直言,您的数据模型从根本上被破坏了。有两种可能的情况:

  • 如果且仅当永远需要访问一个单一的插槽,也就是说,如果插槽是一个封闭的实体,您应该存储序列化的时隙结构。

  • 如果您需要对单个插槽的任何访问权限,我希望通过让一个表slots和另一个表通过可联合使用该表来解决此问题然后,只需重复执行一次INSERT即可完成使用插槽的操作,直到不再发生按键冲突(当然,还有更有效的方法)

编辑

响应@Stoic的请求,以下是关于第二个项目符号的详细说明:假定以下内容:

  • OQ中的表称为 useritems
  • 还有一个名为的表usersUserID来自(PK)
  • 假设还有另一个名为的表itemsItemID它来自(PK)

现在我们创建一个表 userslots

CREATE TABLE userslots (
  UserID int, -- possibly some FK,
  SlotNum int,
  ItemId int, -- possibly some FK,
  ItemCount int,
  -- possibly more, as the game logic needs (Styling, etc.)
  PRIMARY KEY(UserID, SlotNUm),
)

并为其中每个用户的每个插槽创建一行,其中SlotNum = 0..N和ItemID = ItemCount = 0-这也使我们也可以让不同的用户拥有不同数量的插槽。

现在,如果要插入项目,请执行两个步骤:

  • 也许美国人已经有了这样的物品,我们只需要增加数量即可?UPDATE userslots SET ItemCount=ItemCount+1 WHERE UserID=$UserID and ItemID=$ItemID LIMIT 1如果返回1个受影响的行,则操作完成。
  • 如果没有,我们需要使用新的广告位:UPDATE userslots SET ItemID=$ItemID, ItemCount=1 WHERE UserID=$UserID and ItemCount=0 LIMIT 1

  • 如果我们需要删除一个Item,则只要UPDATE userslots SET ItemCount=ItemCount-1 WHERE UserID=$UserID and ItemID=$ItemID and ItemCount>0 LIMIT 1用户完全拥有这样的项目,受影响的行数(0或1)就原子地显示给我们:如果与另一个会话不竞争,则可能导致双消耗。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Session_OnEnd中获取用户

来自分类Dev

获取用户ID寄给发件人的行数

来自分类Dev

如何在 GraphQL 中通过 userName 获取用户?

来自分类Dev

通过magento的Cookie或Session获取用户查看的产品

来自分类Dev

php Session PHP 获取用户相关数据

来自分类Dev

获取用户ID发送给发件人的行数

来自分类Dev

未设置SESSION ['username']

来自分类Dev

如果使用ArchiveIndexView,如何从example.com/username/gallery获取用户名部分?

来自分类Dev

Python:如何获取用MySQLdb删除的行数

来自分类Dev

PHP登录-从数据库获取用户数据还是存储在Session中?

来自分类Dev

获取行数

来自分类Dev

取用值分隔的行数

来自分类Dev

从DOMAIN \ Username c#中提取用户名

来自分类Dev

为什么PHP if(!$ _ SESSION ['username'])返回false

来自分类Dev

为什么((空($ _ SESSION ['username'] ['password']])无效?

来自分类Dev

如何获取对API进行调用的用户的UserName?

来自分类Dev

获取用户密码

来自分类Dev

获取MySQLdb中的行数

来自分类Dev

获取Azure表行数

来自分类Dev

如何从OdbcDataReader获取行数?

来自分类Dev

预先获取标题行数

来自分类Dev

如何获取点击的行数?

来自分类Dev

从LEFT JOIN获取行数

来自分类Dev

从QTableView获取行数据

来自分类Dev

获取表列表的行数

来自分类Dev

Python:获取ParquetDataset的行数?

来自分类Dev

获取表中的行数

来自分类Dev

预先获取标题行数

来自分类Dev

从.csv文件获取行数