PHP中的if-elseif语句
if和elseif语句同时工作PHP中的if-elseif语句,php,if-statement,Php,If Statement,if和elseif语句同时工作 while($answerResult = mysql_fetch_assoc($answers)) { if($reportResult != 0 && $this->CheckAnswer($questionId,$answerResult['id'],$reportResult)) { echo '<input type="radio" name="question['.$questionId
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'].'  ';
}
}
while($answerResult=mysql\u fetch\u assoc($answers))
{
如果($reportResult!=0&&$this->CheckAnswer($questionId,$answerResult['id',$reportResult))
{
回显“”。$answerResult['name']。'aaa';
}
elseif($sampleResult!=0&&$this->CheckAnswer($questionId、$answerResult['id'],$sampleResult))
{
回显“”。$answerResult['name']。'hee';
}
其他的
{
回显“”。$answerResult['name']。'nbsp';
}
}
我试图做的是,如果我的第一个陈述是真的,那么不要看其他条件,但如果我的第一个条件是假的,那么检查elseif条件
然而,即使第一个条件为true,我的elseif条件仍然有效
我把“hee”和“aaa”放在“echos”的末尾,看哪一个正在打印
结果是:
首先,如果语句正在工作并使用“aaa”打印,则查看elseif语句并选中此项并打印“hee”
所以,我不知道我遗漏了什么,也找不到任何解决方案,有什么建议吗?一个语句中的
if
、elseif
、和else
是排他性的,所以这不应该发生
整个语句都在while循环中。。。你确定不是第一次迭代中执行的
if
和第二次迭代中执行的elseif
是互斥的吗?一条语句中的if
、elseif
和else
是互斥的,所以这不应该发生
整个语句都在while循环中。。。您确定第一次迭代执行的不是
,第二次迭代执行的不是elseif
。您应该在while循环的顶部尝试输出。我打赌有多行。你确定'aaa'和'hee'是在while
循环的同一个迭代中打印的吗?据我所知,你在while循环的第二个或不同的迭代中说过可以更改结果,如果是这样,我应该更改所有结构只需在所有语句的末尾添加$I,在while的末尾添加I++;再检查一遍,还有问题,可以把我的结果截图放在这里吗?我在FAQ中没有看到您应该在while循环的顶部尝试输出。我打赌有多行。你确定'aaa'和'hee'是在while
循环的同一个迭代中打印的吗?据我所知,你在while循环的第二个或不同的迭代中说过可以更改结果,如果是这样,我应该更改所有结构只需在所有语句的末尾添加$I,在while的末尾添加I++;再检查一遍,还有问题,可以把我的结果截图放在这里吗?我没有在FAQ中看到您可能是对的,所以我应该先检查while语句,谢谢。mysql\u fetch\u assoc
总是从数据库查询结果中获取一行-我想您在那里发出的查询有更多的结果行,否则在
循环时,就没有用了。我的查询是“从答案中选择*”在我的答案表中,我有:“id,name”:“1,yes”,“2,no”,“3,na”听起来很小,一个条件对于(1,yes)
是真的,另一个条件对于(2,no)
(例如)。通过该查询,while
应该循环3次,因此第二次迭代对于elseif条件可能为true,这可能会改变结果,尽管第一次迭代对于if条件为true。您可能是对的,因此我应该首先检查while语句,谢谢。mysql\u fetch\u assoc
总是从数据库查询结果中提取一行-我想您在那里发出的查询有更多的结果行,否则在循环时就没有用了。我的查询是“SELECT*from answer”,在我的答案表中我有:“id,name”:“1,yes”,“2,no”,“3,na”好吧,听起来很简单,一个条件适用于(1,是)
,另一个条件适用于(2,否)
(例如)。通过该查询,while
应该循环3次,因此第二次迭代对于elseif条件可能为真,并且这可能会改变结果,尽管第一次迭代对于if条件为真。