$sql = mysql_query("SELECT number FROM domains WHERE domains_id=1");
$row = mysql_fetch_array($sql);
$domain = $row['number'];
if($domain = 0){
<li class="icon"><a href="">Rule 1</a></li>
<li class="icon"><a href="">Rule 2</a></li>
}
if($domain = 1){
<li class="icon"><a href="" class="yes">Rule 1</a></li>
<li class="icon"><a href="">Rule 2</a></li>
}
if($domain = 2){
<li class="icon"><a href="">Rule 1</a></li>
<li class="icon"><a href="" class="yes">Rule 2</a></li>
}
我有上面的代码,但它似乎不起作用。
结果是
请您告诉我如何让这个工作?
提前致谢
答案 0 :(得分:1)
尝试
if($domain == 0){
<li class="icon"><a href="">Rule 1</a></li>
<li class="icon"><a href="">Rule 2</a></li>
}
if($domain == 1){
<li class="icon"><a href="" class="yes">Rule 1</a></li>
<li class="icon"><a href="">Rule 2</a></li>
}
if($domain == 2){
<li class="icon"><a href="">Rule 1</a></li>
<li class="icon"><a href="" class="yes">Rule 2</a></li>
}
当您需要双=
==
答案 1 :(得分:1)
您使用的是分配而不是比较,但您应该尽可能使用严格的比较(===
):
$sql = mysql_query("SELECT number FROM domains WHERE domains_id=1");
$row = mysql_fetch_array($sql);
$domain = (int)$row['number']; // cast the result
if($domain === 0){?>
<li class="icon"><a href="">Rule 1</a></li>
<li class="icon"><a href="">Rule 2</a></li>
<?php}
if($domain === 1){?>
<li class="icon"><a href="" class="yes">Rule 1</a></li>
<li class="icon"><a href="">Rule 2</a></li>
<?php}
if($domain === 2){?>
<li class="icon"><a href="">Rule 1</a></li>
<li class="icon"><a href="" class="yes">Rule 2</a></li>
<?php}
一般来说,我在代码中修改了3件事:
===
)而非分配(=
),(int)$row['number']
)以获取干净的数据, 编辑:刚刚注意到另一个问题,其他人先前已经注意到了。您有3个独立的条件检查相同的数据。您可以使用由一个if
结束两个elseif
组成的单个语句,而不是这三个条件语句。
答案 2 :(得分:1)
除=
代替==
之外,您还违反了DRY。试试这个:
echo '<li class="icon"><a href=""'.($domain==1 ? ' class="yes"' : '').'>Rule 1</a></li>';
echo '<li class="icon"><a href=""'.($domain==2 ? ' class="yes"' : '').'>Rule 2</a></li>';
答案 3 :(得分:0)
您使用的是不正确的比较运算符。 =
执行任务,而非比较。您应该使用==
。
另外,为了输出HTTP,你不会退出PHP。
试试这个:
<?php
$sql = mysql_query("SELECT number FROM domains WHERE domains_id=1");
$row = mysql_fetch_array($sql);
$domain = $row['number'];
?>
<li class="icon"><a href="" class="<?php echo ($domain == 1)?"yes":""; ?>">Rule 1</a></li>
<li class="icon"><a href="" class="<?php echo ($domain == 2)?"yes":""; ?>">Rule 2</a></li>