2009-11-01 144 views
0

我试图使它停止显示其余的如果$ walk_jail不为空PHP循环MySQL的帮助

1)$ walk_jail是空

2)$ walk_jail是空

3)$ walk_jail是空

4)$ walk_jail是不显示其余空

停止。

$walk = 15; 

for ($counter = 1; $counter <= $walk; $counter += 1) { 

$result= mysql_query("SELECT * FROM walk_txt") or die (mysql_error()); 
$walk_numrows = mysql_num_rows($result); 
$random_walk = rand(1,$walk_numrows); 

$getfl = mysql_query("SELECT * FROM walk_txt WHERE id='$random_walk'"); 
$showfinfo = mysql_fetch_array($getfl); 

$walk_txt = $showfinfo['txt']; 
$walk_jail = $showfinfo['jail']; 
$walk_hp = $showfinfo['hp']; 
$walk_money = $showfinfo['money']; 
$walk_item = $showfinfo['itemid']; 

if($walk_jail){ 
echo "$counter) <span class='bad'>$walk_txt</span><br>"; 
}elseif($walk_money){ 
echo "$counter) <span class='win'>$walk_txt</span><br>"; 
}elseif($walk_item){ 
echo "$counter) <span class='win'>$walk_txt</span><br>"; 
}elseif($walk_money == 0 && $walk_jail == 0 && $walk_hp == 0){ 
echo "$counter) $walk_txt<br>"; 
} 

谢谢

回答

1

我猜你找break; statement,这将下降退出循环。

$walk = 15 

for ($counter = 1; $counter <= $walk; $counter += 1) { 

    ....  

    if($walk_jail){ 
    echo "$counter) <span class='bad'>$walk_txt</span><br>"; 
    break; // ** this will drop out of the loop 
    }elseif($walk_money){ 
    echo "$counter) <span class='win'>$walk_txt</span><br>"; 
    }elseif($walk_item){ 
    echo "$counter) <span class='win'>$walk_txt</span><br>"; 
    }elseif($walk_money == 0 && $walk_jail == 0 && $walk_hp == 0){ 
    echo "$counter) $walk_txt<br>"; 
    } 
} 
+0

你也可以使用break 1;等打破循环的各个部分 - 只是一个小技巧:) – 2009-11-01 02:38:21