【发布时间】:2012-12-07 10:12:32
【问题描述】:
if 和 elseif 语句同时工作。
while($answerResult = mysql_fetch_assoc($answers))
{
if($reportResult != 0 && $this->CheckAnswer($questionId,$answerResult['id'],$reportResult))
{
echo '<input type="radio" name="question['.$questionId.']" value="'.$answerResult['id'].'" checked/>'.$answerResult['name'].'aaa  ';
}
elseif($sampleResult != 0 && $this->CheckAnswer($questionId,$answerResult['id'],$sampleResult))
{
echo '<input type="radio" name="question['.$questionId.']" value="'.$answerResult['id'].'" checked/>'.$answerResult['name'].'hee  ';
}
else
{
echo '<input type="radio" name="question['.$questionId.']" value="'.$answerResult['id'].'" />'.$answerResult['name'].'  ';
}
}
如果我的第一个语句为真,则不要查看其他条件,但如果我的第一个条件为假,则检查 elseif 条件。
但是,即使 first if 条件为真,我的 elseif 条件仍然有效。
我将“hee”和“aaa”放在“echo”的末尾,看看哪个在打印。
结果:
首先,if 语句正在工作并使用 'aaa' 打印,然后查看 elseif 语句并检查并打印 'hee'。
所以,我不知道我缺少什么并且找不到任何解决方案,有什么建议吗?
【问题讨论】:
-
您应该在 while 循环的顶部尝试输出。我敢打赌那里有多行。
-
您确定在
while循环的同一迭代中打印了“aaa”和“hee”吗? -
据我了解,您在 while 循环的第二次或不同迭代中说过可以改变结果,如果是这样我应该改变所有结构
-
只需在所有语句的末尾添加 $i @ 在 while 的末尾添加 i++;再检查一次还是有问题
-
可以把我的结果截图放在这里吗?我没有在常见问题中看到
标签: php if-statement