呵呵~~ 
你第一次循环后已经改变了 $htmlS 的值,下个循环中无法继续替换
所以...试下这样↓$htmlS=implode('', file("web/".$row[grade]."/3.htm"));//模板
$sql = "SELECT * FROM $table ORDER BY id DESC LIMIT 0,5";
$result = mysql_db_query($dbname, $sql);
while ($row=mysql_fetch_array($result)){
$yyy="<td align='center' width='179'><a href='pic.php?id=$row[id]'><img src='img/$row[img]' alt='点击观看大图' width='190' height='203' border='1'><br> <b><font color='#800080'>$row[name]</font></b></a></td>";
$htmlSb+=$yyy;
}
echo str_replace('{text}',$htmlSb, $htmlS);

解决方案 »

  1.   

    我测试了一下,我将$yyy="1";
    $htmlSb+=$yyy;结果输出结果并非1  1  1结果却是3看来并非我要的呀,也就是说将显示图片那段代码替换成1结果却不显示了,请在帮我琢磨一下,从简单的代码里边就看出你水平比我高,请帮帮我,谢谢你~
      

  2.   

    $htmlS=implode('', file("web/".$row[grade]."/3.htm"));//模板
    $sql = "SELECT * FROM $table ORDER BY id DESC LIMIT 0,5";
    $result = mysql_db_query($dbname, $sql);
    $yyy = "";
    while ($row=mysql_fetch_array($result)){
    $yyy .= "<td align='center' width='179'><a href='pic.php?id=$row[id]'><img src='img/$row[img]' alt='点击观看大图' width='190' height='203' border='1'><br> <b><font color='#800080'>$row[name]</font></b></a></td>";
    }
    echo str_replace('{text}',$yyy, $htmlS);