> 백엔드 개발 > PHP 튜토리얼 > php 如何处理抽奖中的重复的兑换码

php 如何处理抽奖中的重复的兑换码

WBOY
풀어 주다: 2016-06-23 14:12:12
원래의
1269명이 탐색했습니다.

做一个抽奖活动,设计表:
奖品表option:
oid   奖品ID
name  奖品名

兑换码表code:
oid  奖品ID
code  兑换码
status 是否使用 0:未使用 1:已使用

现在要求可以加入重复兑换码,而且兑换码通过文本框换行得到


编辑奖品和奖品兑换时如何处理code表的status呢,如果有相同的code,就不能直接update code set status=1 where code='{$code}'了。


回复讨论(解决方案)

如果 $code 是多行的兑换码
那么可以
$code = join(',', preg_split("/[\r\n]+/", $code));
处理成以逗号分隔的兑换码串
使用时
where code in ($code)
即可

如果 $code 是多行的兑换码
那么可以
$code = join(',', preg_split("/[\r\n]+/", $code));
处理成以逗号分隔的兑换码串
使用时
where code in ($code)
即可

有重复的怎么处理,比如现在有个人获奖了,兑换码是11,但是数据库中有两个11,怎么更新status

为什么要允许有重复的呢?
真有重复也可以
select oid from  code where code='yourcode' and status=0 limit 1
如果有结果oid,那么更新就是
update code set status=1 where oid='oid'

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿