PHP循环,而其他

时间:2014-01-03 21:14:41

标签: mysql if-statement while-loop

以下代码创建了一个地理区域列表和在该区域工作的专家子列表,例如

  • 地区1
  • 地区2
    • A Nother先生
  • 地区3
    • A Nother先生
  • 地区4

如果一个地区没有任何专家(在上面的示例区域1和区域4中),那么我希望它能说“没有专家在这个地区工作”。我认为我的查询可能会阻止它工作,但我会感谢任何解决方案和评论这是否是最好的方法(我对PHP编码知之甚少)。

    $sql = "SELECT * FROM `local_authority` ORDER BY `name` ASC";

    $query = mysql_query($sql);

    if(!$query) { error(mysql_error()); }

        while($authority = mysql_fetch_array($query)) {


        $asql = "SELECT * FROM `specialists` as s, `users` as u WHERE s.authority_id = '". $authority['authority_id'] ."' AND s.user_id = u.user_id";

        $aquery = mysql_query($asql);

        if(!$aquery) { error(mysql_error()); }

echo("$authority[name]<br>");

            while($specialist = mysql_fetch_array($aquery)) {

                echo("&nbsp;&nbsp;&nbsp;&nbsp; $specialist[forename] $specialist[surname] <br>");


         }

    }

1 个答案:

答案 0 :(得分:0)

if(!$aquery) { error(mysql_error()); }

if(mysql_num_rows($aquery) == 0){
  echo "There are no specialists in this area.";
}else{

  echo("$authority[name]<br>");

  while($specialist = mysql_fetch_array($aquery)) {

    echo("&nbsp;&nbsp;&nbsp;&nbsp; $specialist[forename] $specialist[surname] <br>");

  }
}