当然有错误,这不是两套循环吗。应该为
$i=0;
while($row = @mysql_fetch_array($result)){
         if($i>9) break;
echo '<img src="/images/ball.gif" width="7" height="6" type=square><a href="javascript:nav(\'/news/details.php?id='.$row['id'].'\',\'\',0,0,0)">'.$row['title'].'</a><br>&nbsp;';
         $i++;
}

解决方案 »

  1.   

    <?
    @db_connect();
    $query = "select id, title from news order by upload desc";
    $result = @mysql_query($query, $GLOBALS['db_handle']);
    $i=1;
    while($row = @mysql_fetch_array($result)){
    if ($i>10) break;
    echo '<img src="/images/ball.gif" width="7" height="6" type=square><a href="javascript:nav(\'/news/details.php?id='.$row['id'].'\',\'\',0,0,0)">'.$row['title'].'</a><br>&nbsp;';
    @mysql_free_result($result);
    $i++;}
    ?>
    我修改成上面写的这个样子,可只显示一条记录啊!
      

  2.   

    @mysql_free_result($result);
    这句话放到最后,也就是循环的外面。这是释放结果集的函数,释放以后结果集就空了,你当然只能显示一条纪录
      

  3.   

    for ( $i=0; $i<=10; $i++ ) {
      echo '<img src="/images/ball.gif" width="7"  height="6"type=square><a href="javascript:nav(\'/news/details.php?id='.Mysql_Result($result,$i,'id').'\',\'\',0,0,0)">'.Mysql_Result($result,$i,'title').'</a><br>&nbsp;';
    }