如果值为categories =“”,如何打破跳过循环?

时间:2013-10-04 11:28:32

标签: php mysql loops while-loop

这是我的脚本,如果数据库中的categories =“”值,我想跳过循环。我怎么能这样做?

   public function display_international( ) {
                $query = 'SELECT *
      FROM
       tourDB
      WHERE 
        tour_type = "international"';
               $result = mysql_query( $query ) or die( mysql_error() );
                  if ( $result !== false && mysql_num_rows( $result ) > 0 ) {
                       while ( $i = mysql_fetch_assoc( $result ) ) {
                               $international_cats = stripslashes( $i[ 'categories' ] );
                              $international_display .= <<<PANEL_DISPLAY
<a class="international-tour-box-element" href=# >$international_cats</a>
PANEL_DISPLAY;
                        } //$b = mysql_fetch_assoc( $result )
                } //$result !== false && mysql_num_rows( $result ) > 0
                else {
                         $international_display = <<<PANEL_DISPLAY
<a class="international-tour-box-element" href="#" >No tours !</a>
PANEL_DISPLAY;
                }
                return $international_display;
        }

5 个答案:

答案 0 :(得分:1)

您可以使用“break”来打破循环,或者“继续”跳过循环迭代的其余部分,然后继续下一个循环迭代。

只需执行以下操作即可跳过当前迭代的其余部分。

if($['categories'] == '') continue; 

或者,执行以下操作以一起终止循环。

if($['categories'] == '') break;

答案 1 :(得分:0)

我的帮助你:

public function display_international( ) {
                $query = 'SELECT *
      FROM
       tourDB
      WHERE 
        tour_type = "international"';
               $result = mysql_query( $query ) or die( mysql_error() );
                  if ( $result !== false && mysql_num_rows( $result ) > 0 ) {
                       while ( $i = mysql_fetch_assoc( $result ) ) {
                           if (!$i[ 'categories' ]) {
                             continue; // use break; to terminate continue to skip loop
                           }
                               $international_cats = stripslashes( $i[ 'categories' ] );
                              $international_display .= <<<PANEL_DISPLAY
<a class="international-tour-box-element" href=# >$international_cats</a>
PANEL_DISPLAY;
                        } //$b = mysql_fetch_assoc( $result )
                } //$result !== false && mysql_num_rows( $result ) > 0
                else {
                         $international_display = <<<PANEL_DISPLAY
<a class="international-tour-box-element" href="#" >No tours !</a>
PANEL_DISPLAY;
                }
                return $international_display;
        }

答案 2 :(得分:0)

退出循环:

if ($i['categories'] == '') {
    break;
}

在循环中跳过此值:

while ( $i = mysql_fetch_assoc( $result ) ) {
    if ($i['categories'] != '') {
        // Rest of your code here
    }
}

答案 3 :(得分:0)

您可以使用break跳过循环或继续跳过当前迭代。

例如

if( $categories == "" ) {
    break; //or continue;
}

答案 4 :(得分:0)

您可以继续结果

中的下一个元素
if( empty($i[ 'categories' ]) continue;

或打破它

if( empty($i[ 'categories' ]) break;