我试了一下
while($info_arr=$empire->fetch($result)) 

  //取出模板 
  如果在这里直接给$tmp_block[tmpcode]赋值
  $tmp_block[tmpcode]="<LI>
<div class='se_block_frm'>
  <DIV class='se_block'>
  <div class='se_image' style='float:right'><IMG alt='".$info_arr['title']."' src=".$info_arr['titlepic']." /><A 
  href='article/index.php?channel=".$info_arr[channel]."type=".$info_arr[type]."classid=".$info_arr[classid]."id=".$info_arr[id]."'></A></div>
  <a class='se_title' href='article/index.php?channel=".$info_arr[channel]."type=".$info_arr[type]."classid=".$info_arr[classid]."id=".$info_arr[id]."'>".$info_arr[title]."</a><br /><span class='se_info'>".$info_arr[smalltext]."</span><br /><br /><span class='se_time'>".$info_arr[newstime]."</span>  </DIV>
</div>
</LI>"";
  $info_list.=$tmp_block[tmpcode]; 
  
} 这样没问题,但是我不明白,为什么$tmp_block[tmpcode]就不行,
$tmp_block=$empire->fetch1("SELECT tmpcode FROM {$dbtbpre}sporttmp WHERE tmpname='{$tmp_name}'");
这是正确的查询语句,而$tmp_block[tmpcode]就代表的是上面的模板代码,为什么代码中的数组元素没有被替换成值,谢谢了

解决方案 »

  1.   

    代码里没有见到replace等过程啊。
      

  2.   

    这个要用replace马,$info_arr是一个信息的数组阿,那么模板中的值不是应该自动替换马
      

  3.   

    你直接输出$tmp_block[tmpcode]也能出来上面的正确结果吗?
      

  4.   

    如果直接ECHO,那么数组元素已经被当作了正常的HTML现实在网页里,而没有被替换
      

  5.   

    兄弟们帮忙阿
    我猜测了一下,应该是DB中模板变量中的元素表示方法不对
    <LI> 
    <div class='se_block_frm'> 
      <DIV class='se_block'> 
      <div class='se_image' style='float:right'> <IMG alt='".$info_arr[title]."' src=".$info_arr['titlepic']." /> <A 
      href='article/index.php?channel=".$info_arr[channel]."type=".$info_arr[type]."classid=".$info_arr[classid]."id=".$info_arr[id]."'> </A> </div> 
      <a class='se_title' href='article/index.php?channel=".$info_arr[channel]."type=".$info_arr[type]."classid=".$info_arr[classid]."id=".$info_arr[id]."'>".$info_arr[title]." </a> <br /> <span class='se_info'>".$info_arr[smalltext]." </span> <br /> <br /> <span class='se_time'>".$info_arr[newstime]." </span>  </DIV> 
    </div> 
    </LI> 
    可能不应该用这种方式'".$info_arr[title]."',但是我试了一些格式,都不行,谢谢个位了