首先是代码:
while($thisValue = mysql_fetch_assoc($someUnrelevantPreviousQuery)) {
if($thisValue['thisOne']=='something') {
$query = mysql_query("Some query");
$result = mysql_num_rows($query);
if($result) {
while($result2 = mysql_fetch_assoc($query)) {
/* Do this */
}
}else echo "Error 1";
}else
if($thisValue['thisOne']=='something else') {
$query = mysql_query("Some other query");
$result = mysql_num_rows($query);
if($result) {
while($result2 = mysql_fetch_assoc($query)) {
/* Do that */
}
}else echo "Error 2";
}
}
所以我对这段代码有 1 个问题和 1 个问题。
问题:
如果第一个 while 返回 2 个值 where $thisValue['thisOne']=='something' AND $thisValue['thisOne']=='something else'
,它应该执行 2 个查询。一个用于第一个“如果”,然后一个用于第二个。然而,在实践中,它会为 find 工作,$thisValue['thisOne']=='something'
但随后循环停止并且对其他值不做任何事情。怎么会?
编辑:另外,如果第一个 while 只返回$thisValue['thisOne']=='something else'
我得到“错误 1”回声,那么它应该继续执行下一个 if 语句。
问题:
这是正确的方法吗?我的意思是我应该使用另一个循环或方法吗?
PS:代码对我来说似乎很自我解释,这就是为什么我没有解释它。但是如果需要一些细节或任何东西来更好地理解它,请询问。