是否可以跳过while循环中的某些行?

时间:2015-06-30 23:04:20

标签: php mysql while-loop

这是我列出我的类别的工作代码;

$catquery = mysql_query("SELECT * FROM kategoriler where top=0 and status=1 ORDER BY listorder ASC");
    While($querywrite=mysql_fetch_array($catquery)){


    $baslik     = $querywrite['baslik'];
    $ikon       = $querywrite['ikon'];
    $seo        = $querywrite['seo'];
    $tip        = $querywrite['tip'];


    echo '<li data-node-id="'.$id.'"><a href="'.$seo.'/"><center><img class="menuor" src="img/'.$ikon.'"/></center>'.$baslik.'</a></li>';
    }

我的数据库上有两个表,第一个表包含Categories,第二个表包含Article。文章按类别ID(catid)分组。我想跳过哪个类别没有标记该类别ID的行。

2 个答案:

答案 0 :(得分:0)

正如他们所说,如果可以,你应该在你的SQL中排除它们,但你也可以在循环中跳过它们。

你的问题: 是否可以跳过while循环中的某些行?

答案: 是的。使用&#34;继续&#34;在循环。

   <?php
   $x = 1; 

   while($x <= 5) {

      if($x == 3){
        $x++;
        continue;
        }

      echo "The number is: $x <br>";
      $x++;
   } 
   ?>

将输出

号码是:1
号码是:2
数字是:4
数字是:5

结帐: http://php.net/manual/en/control-structures.continue.php

答案 1 :(得分:0)

尝试这样的事情(你必须在适当的地方更改列/表名,因为你留下了一些):

PDO

此外,您应该强烈考虑使用绑定参数切换到mysqlimysql_*,因为const函数现已弃用,并且将在以后的版本中删除。请参阅:https://secure.php.net/mysqlinfo.api.choosing