<?php
  $sql="select  * from href where id=$id order by link  ";
  $query=mysql_query($sql);
   while($array=mysql_fetch_array($query)){
  ?>
                    <TD height=30>&nbsp;&nbsp;&nbsp;<IMG height=11 
                        src="list.files/biao_33.gif" width=11 align=absMiddle> 
                    

 <a href="list.php?id=<?php echo $id;?>">

<?php  echo $array{"link"}; ?></a></TD>


</TR>
  <?php 
  }?>这是一个大的 但是我想改成在ID 不是1 2 的时候才这样 所以然后这里 
<?php
  $sql="select  * from href where id=$id order by link  ";
  $query=mysql_query($sql);
  if($id!==1 and $id!==2){
  while($array=mysql_fetch_array($query)){
  ?>
                    <TD height=30>&nbsp;&nbsp;&nbsp;<IMG height=11 
                        src="list.files/biao_33.gif" width=11 align=absMiddle> 
                    

 <a href="list.php?id=<?php echo $id;?>">

<?php  echo $array{"link"}; ?></a></TD>


</TR>
  <?php 
  }}
?> elseif($id==1){<TD height=30>&nbsp;&nbsp;&nbsp;<IMG height=11 
                        src="list.files/biao_33.gif" width=11 align=absMiddle> 
                    

<a href="content.php?id=<?php echo $id;?>">

<?php  echo $array{"link"}; ?></a></TD>


</TR>}
elseif($id==2){<TD height=30>&nbsp;&nbsp;&nbsp;<IMG height=11 
                        src="list.files/biao_33.gif" width=11 align=absMiddle> 
                    

<a href="content.php?id=<?php echo $id;?>">

<?php  echo $array{"link"}; ?></a></TD>


</TR>}
怎么放在那个循环里面 转晕掉了·· 其实就是 不知道 <?php  ?> 这东西 该放哪里 我尝试了好几个地方都不对 头都大了

解决方案 »

  1.   

    $array{"link"}; ? 你在哪儿看的这种写法?错误的。 应该是$array["link"],方括号括起来的
    建议你换一个专业点的编辑器,例如notepad++,eclipse,都可以对PHP语法高亮。另外switch语句更适合你的这种情况。
    <?php
      $sql="select * from href where id=$id order by link ";
      $query=mysql_query($sql);
      if($id!==1 and $id!==2){
      while($array=mysql_fetch_array($query))
        {
      ?>
          <TD height=30>&nbsp;&nbsp;&nbsp;
            <IMG height=11 src="list.files/biao_33.gif" width=11 align=absMiddle>  
            <a href="list.php?id=<?php echo $id;?>">
              <?php echo $array["link"]; ?>
            </a>
          </TD>
      </TR>
      <?php  
        }  //对应while
      }  //对应if
      else if($id==1){ // 2
      ?>
          <TD height=30>&nbsp;&nbsp;&nbsp;
              <IMG height=11 src="list.files/biao_33.gif" width=11 align=absMiddle>  
              <a href="content.php?id=<?php echo $id;?>">
                   <?php echo $array["link"]; ?>
              </a>
          </TD>
      </TR>
      <?php
      } // 对应上面的else if($id==1) // 2
      else if($id==2){  // 3
      ?>
          <TD height=30>&nbsp;&nbsp;&nbsp;
              <IMG height=11 src="list.files/biao_33.gif" width=11 align=absMiddle>  
              <a href="content.php?id=<?php echo $id;?>">
                   <?php echo $array["link"]; ?>
              </a>
          </TD>
        </TR>
      <?php
      } // 对应elseif 3
      ?>
      

  2.   

    {} 肯定是打错了,手按得太勤快了,哈哈 我也有过。不过用ide开发工具很快就能发现问题
      

  3.   

    sorry,我估计我是分析错误了,while循环是否因该在最外围?
    那样的话  if($id!==1 and $id!==2){ 应该放在 while($array=mysql_fetch_array()){  下面。以及对应while的结束分号就要移到 } // 对应elseif 3  下面,你懂吧
      

  4.   

    这样写太乱。将while的循环结果放到一个数组中,对数组的值进行判断和循环:  $sql="select * from href where id=$id order by link ";
      $query=mysql_query($sql);
      $arr = array();
      while($res=mysql_fetch_array($query))
        {
           //如果结果只有一组,那就直接返回$res
           array_push($arr, $res);  
        }
    foreach($arr as $ar){    //如果结果数组只有一组,直接进行判断
      if($ar['id'] != 1 and $ar['id'] != 2){
    ……
      }
    }
    }
      

  5.   

    楼主,在定义$id的时候,没有先确定$id的值是从哪里来的,这样会报错的。在判断循环之前,应该先这样判断吧
    <?php
    if(isset($_GET[id])){
       $id = $_GET[id];
       if($id!==1 and $id!==2){
         while($array=mysql_fetch_array($query)){
    ?>
      <TD height=30>&nbsp;&nbsp;&nbsp;
        <IMG height=11src="list.files/biao_33.gif" width=11 align=absMiddle>  
        <a href="list.php?id=<?php echo $id;?>">
         <?php echo $array{"link"}; ?></a>
      </TD>
     </TR>
    <?php
      }else if($id==1){
    ?>
      <TD height=30>&nbsp;&nbsp;&nbsp;
              <IMG height=11 src="list.files/biao_33.gif" width=11 align=absMiddle>  
              <a href="content.php?id=<?php echo $id;?>">
                   <?php echo $array["link"]; ?>
              </a>
          </TD>
      </TR>
    <?php  
      }else if($id==2){
    ?>
      <TD height=30>&nbsp;&nbsp;&nbsp;
              <IMG height=11 src="list.files/biao_33.gif" width=11 align=absMiddle>  
              <a href="content.php?id=<?php echo $id;?>">
                   <?php echo $array["link"]; ?>
              </a>
          </TD>
        </TR>
    <?php
      }
    }//最外面的if
    ?>
      

  6.   

    抱歉,上面的while少了个“}”
    <?php
    if(isset($_GET[id])){
      $id = $_GET[id];
      if($id!==1 and $id!==2){
       while($array=mysql_fetch_array($query)){
    ?>
      <TD height=30>&nbsp;&nbsp;&nbsp;
      <IMG height=11src="list.files/biao_33.gif" width=11 align=absMiddle>   
      <a href="list.php?id=<?php echo $id;?>">
      <?php echo $array{"link"}; ?></a>
      </TD>
     </TR>
    <?php
       }//while结束标签
      }else if($id==1){
    ?>
      <TD height=30>&nbsp;&nbsp;&nbsp;
      <IMG height=11 src="list.files/biao_33.gif" width=11 align=absMiddle>   
      <a href="content.php?id=<?php echo $id;?>">
      <?php echo $array["link"]; ?>
      </a>
      </TD>
      </TR>
    <?php   
      }else if($id==2){
    ?>
      <TD height=30>&nbsp;&nbsp;&nbsp;
      <IMG height=11 src="list.files/biao_33.gif" width=11 align=absMiddle>   
      <a href="content.php?id=<?php echo $id;?>">
      <?php echo $array["link"]; ?>
      </a>
      </TD>
      </TR>
    <?php
      }
    }//最外面的if
    ?>
      

  7.   

    工欲善其事,必先利其器.
    还是找个可以弱弱的语法错误提示的工具吧。比如zend studio ,phpedit
      

  8.   

    大家有用PHPdesigner 吗? 我用它感觉也不错啊