我在SQL表中有两个字段done
和current
。两者都具有1(是)或0(假)的数据。
在我创建元素的while()
PHP循环中,我有以下代码:
$current=mysql_result($result,$i,"current");
$done=mysql_result($result,$i,"done");
if ($done == 1){
$doneorcurrent = "done";
}
if($current == "1"){
$doneorcurrent = "current";
}else {$doneorcurrent = "";}
然后我使用以下内容致电$doneorcurrent
:
<a class="article <? echo $doneorcurrent ?>"</a>
问题在于,即使我的done
个字段中有一个字段为1,它也永远不会出现。我已经对代码进行了一段时间的研究,一旦我完成了它,所以反过来 - 只有done
出现,而不是current
。
我应该采取更好的方式吗?有关示例,请参阅http://www.bavarianblue.com/to-do-list/。每个任务的标题都包含在一个应包含current
或done
的类中。如您所见,其余数据在While()
循环中正确输出,因此看起来似乎不对。
答案 0 :(得分:1)
您的第二个if
语句始终将$doneorcurrent
设置为"current"
或""
(空)。您可以使用ifelse
语句来解决此问题:
if ($done == 1){
$doneorcurrent = "done";
}elseif($current == "1"){
$doneorcurrent = "current";
}else {
$doneorcurrent = "";
}
作为旁注,我并不真正了解您的数据库设计。为什么“完成”和“当前”存储在不同的表中?难道它不只是单个表中单个列中的标志吗?