我目前正在尝试检查我的db表以查看用户的级别是否等于或小于10,如果是,则显示整个html列表,如果不是且等于或小于5则仅显示其余部分列表。这是我开始的地方:
<?php
$levels = mysql_query("SELECT level FROM users");
if ($levels <= 10) {
?>
html list
<?php
if ($levels <= 5)
?>
html list
<?php
}
?>
我试图绕过它,我似乎无法得到它。
答案 0 :(得分:3)
试试这个:
<?php if ($levels <= 5): ?>
html list
<?php elseif ($levels <= 10): ?>
html list
<?php endif; ?>
作为David Fells said,请确保首先获得结果:)
编辑:我认为我误解了你的问题。试试这个:
<?php if ($levels <= 10): /* If equal to or less than 10 */ ?>
<?php if ($levels > 5): /* if greater than 5 */ ?>
first part of html list
<?php endif; ?>
second part of html list
<?php endif; ?>
我对此感到困惑:
如果用户的级别等于或小于10,如果是,则显示整个html列表, 如果不是 且等于或小于5仅显示列表的剩余部分
.. 0-5将小于或等于10。请原谅混合,GL!
答案 1 :(得分:1)
$result = mysql_query(sprintf("SELECT level FROM users WHERE user_id = %d", $current_user_id));
if (list($level) = mysql_fetch_array($result)) {
if ($level <= 5) {
// whatever
}
elseif ($level <= 10) {
// whatever
}
else {
// whatever
}
}
根本没有清除它吗?您需要提供当前用户的ID,然后您需要实际从$ result中检索值。 $ result是一个类型为resource的变量,你必须使用这样设计的函数来处理它。
答案 2 :(得分:0)
你需要在等级&lt; = 10之前询问等级&lt; = 5,因为等级&lt; = 10将始终找到等级<= 5。
答案 3 :(得分:0)
代码有很多错误 -
首先,
$levels = mysql_query("SELECT level FROM users");
返回一个包含所有用户级别的数组。您希望使用WHERE子句查询特定用户的级别。
接下来,当你想要区分&lt; = 5和5&amp; 10之间时,你需要使用其中一种方法
if($levels>5 && $levels <=10){
`enter code here`
}elseif($levels<=5){
`enter code here`
}
或
if($levels<=5){
`enter code here`
}elseif($levels<=10){
`enter code here`
}
在这种情况下,我更喜欢第二种,因为它涉及的比较少。
接下来,您看起来就像刚开始使用PHP一样。你没有关闭大括号,也没有使用else语句。