0

这是我的脚本,如果数据库中 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;
        }
4

5 回答 5

1

您可以使用“break”来中断循环,或“continue”来跳过循环迭代的其余部分,并继续下一个。

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

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

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

if($['categories'] == '') break;
于 2013-10-04T11:40:08.140 回答
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;
        }
于 2013-10-04T11:32:17.300 回答
0

退出循环:

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

在循环中跳过这个值:

while ( $i = mysql_fetch_assoc( $result ) ) {
    if ($i['categories'] != '') {
        // Rest of your code here
    }
}
于 2013-10-04T11:32:17.377 回答
0

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

例如

if( $categories == "" ) {
    break; //or continue;
}
于 2013-10-04T11:32:20.837 回答
0

您可以继续到结果中的下一个元素

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

或打破它

if( empty($i[ 'categories' ]) break;
于 2013-10-04T11:33:36.240 回答