if / else语句仅适用于1个变量值

时间:2010-11-05 11:28:24

标签: php mysql

我正在使用一个名为$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;

3 个答案:

答案 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,循环将终止。