首先,我在做一个小抽奖活动。我现在有一个由正方形按钮组成的网格(都分配了一个数字),我希望能够切换任意数量,然后将该信息发送到我的数据库中,以确认这些正方形已被“占用”。

我需要为每个正方形单独制作一行吗?还是有一些更简单的方法来做到这一点?

最佳答案

如果只想单击一个按钮而不是每次切换一个正方形就查询数据库,那么对每个数字都有单独的记录将不必要地昂贵。有更多优雅的方法可以达到相同的结果。

相反,我建议使用自动递增ID的主键为玩抽奖的个人创建一个记录,以便您可以轻松识别一个人。每次有人翻转方块并点击提交时,都会通过php触发查询,该查询将携带该人输入的值(格式为0和1)。例如,如果有9个正方形,则用户输入将类似于101011001。您现在可以将记录保存为的形式。这种结构将使您的查询系统极其容易地存储值以及确定谁赢得了抽奖。

注意:您也可以做一些厚脸皮的工作,并将抽奖活动条目解释为二进制表示形式,将抽奖活动保存为十进制值。因此您可以将条目另存为345而不是101011001

编辑:要在评论中回答OP的问题
我为用户提供了一个主键,但一次至少有5个抽奖活动。我应该制作5个不同的Raffleentry专栏吗?如Raffleentry1,Raffleentry2等

你可以做到的。但是这里又有一个更优雅的解决方案。仅创建一个称为raffleentrynumber的单列(整数),该列的值将为1-5。现在,与其仅在userid上创建主键,不如创建一个复合键(userid,raffleentrynumber)。这将保留主键完整性约束,并使您的表更整洁

你的桌子看起来像

USER_ID RAFFLEENTRYNUMBER TICKET
1       1                 101010101
1       2                 111100001
1       3                 000000000
1       4                 111111111
1       5                 010101010
2       1                 000011110
2       2                 011110011

关于mysql - 我的“插槽”在MySQL中是否需要单独的一行吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31633660/

10-09 00:34