我使用php构建动态网站。在我的数据库中,我在表points
中有一个名为siteuser
的字段,它是站点用户的点。
它被加载到控制器中的变量$points
。每个时间点都会增加更新到字段中的变量值。如果点值超过100,将显示闪烁消息。
我无法检查$points
是否超过100分。如果我把条件写为
if($points>=100) {echo msg;}
对于100以上的所有值,将显示该消息。消息应仅显示一次。那么,如何写条件?
答案 0 :(得分:1)
这里有几个选项,因为这是非常简单的逻辑。
选项1:保持你的if语句不变,如果消息已经显示,只需添加一个布尔值。
$msg_flag = false;
if ($points >= 100 && !$msg_flag) {
$msg_flag = true;
echo $msg;
}
选项2:假设点只增加值1,因此仅显示值为100的消息
if ($points === 100) {
echo $msg;
}
选项3:添加第二个表,用于记录用户里程碑,例如当他们达到一定数量的点时。基本上,您将查询此表以检查特定用户是否存在100磅里程碑的记录。如果没有向用户显示消息,然后创建里程碑记录。
如果您打算使用某种成就时间线显示区域,以便用户可以随时查看他/她的进度以及何时达到某些里程碑,这种方法也会很好。
答案 1 :(得分:0)
你可以这样检查
if($points>=100 && $_SESSION['isdisplay']=='notDisplayed')
{
echo msg;
$_SESSION['isdisplay']='displayed';
}
所以这只会在达到100时显示一次。
答案 2 :(得分:-1)
$variable = select <your_column_name> from table_name where <your_dynamic_value> > 100;echo $variable;