for($j=0;$j<$sql->rows;$j++){
        $sql->fetch($j);
        $id=$sql->data[0];
        $name=$sql->data[1];
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^  这里把原来的$name数组重新赋值了,所以第一次循环之后的$name[$i]都不是合法数组,当然显示不出东西了。
        $image=$sql->data[2];
        $file=$sql->data[3];
        $comment=$sql->data[4];
        $recommend=$sql->data[5];
        if(strlen($name)>10) $name=substr($name,0,8)."..";
        
        
        print "<td width=85><a class=a5 href=#$id OnClick=newwin(\"$id\")>$name</a></td>\n";
        if(($j==6)||($j>7 && ($j+1)%7==0)) print "<tr>";
    }