我正在使用一个名为$sqlStr4v
的查询,它有三个结果,按名为totalScore2
的值排序。然后我尝试使用if / else语句来显示一个名为$uv
的变量包含在查询返回的三个结果之一中的内容。
我遇到的问题是,当$uv
等于三个结果中第一个的值时,if / else语句才有效。我怎样才能使它适用于其他两个?
提前致谢,
约翰
查询:
$sqlStr4v = "SELECT
...
ORDER BY totalScore2 DESC
LIMIT 3";
if / else语句:
$resultv = mysql_query($sqlStr4v);
while ($rowv = mysql_fetch_assoc($resultv)) {
if ($rowv ['username'] == $uv) {
...
}else
{
...
}
break;
答案 0 :(得分:2)
为什么break;
如果你不想摆脱循环?
$resultv = mysql_query($sqlStr4v);
while ($rowv = mysql_fetch_assoc($resultv)) {
if ($rowv ['username'] == $uv) {
echo 'something';
//break; here if you want to display something at most once.
}else
{
echo 'nothing';
//break; here if you want to display nothing at most once.
}
//break; here if you only want the first row (result is same as using LIMIT 1)
}
答案 1 :(得分:0)
不要像代码那样在第一次迭代后断开,而是在if
语句之前的循环中记录这三个值,然后在循环之后测试它们。
答案 2 :(得分:0)
休息正在造成这种情况。您可以根据您的要求将其从while循环中取出。虽然会为每个数据库行执行,但如果遇到break,循环将终止。