作者beatada (爱睡喵)
看板PHP
标题Re: [请益] 如何判断user是否有资格参加某个赛事
时间Tue May 17 19:23:18 2011
※ 引述《boboptt (boboptt)》之铭言:
: 假设有个赛事user要符合4个条件才能参赛
: 1.性别:男生
: 2.年龄:10~20岁
: 3.报名人数尚未额满
: 4.报名时间尚未截止
: -----------------------------------------------
: 现在遇到一个问题,假如我将这4个条件SQL下在一起
: 虽然可以过滤出user是否具有参赛资格
: 但是遇到其中有资格不符的项目,却没有办法告诉user是哪个条件不符
: 我该怎麽写才能让user知道是哪几项资格不符呢?
: 是要将条件分作4次SQL来写吗?
假设赛事 user 是目前使用者
当条件不符时显示讯息
4 个条件中的比对项目
1 and 2 是 user 属性
3 and 4 则是赛事属性
我的做法会是先把 user 跟 赛事的资料捞出来
之後在 php 做资格审查
$errors = array();
if ($user['gender'] !== 'male') {
$errors[] = '你不是男人';
}
if ($user['age'] < 10 || $user['age'] > 20) {
$errors[] = '你太老或太嫩';
}
// 假设条件 3,4 所造成的结果都是报名截止
// (每当有人报名成功时检查是否需要变更赛事状态)
if ($event['status'] === 'closed') {
$errors[] = '报名已截止';
}
// 告知条件不符
echo implode('<br />', $errors);
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.218.208.21
※ 编辑: beatada 来自: 61.218.208.21 (05/17 19:24)