本帖最后由 t240034137 于 2010-03-15 14:58:56 编辑

解决方案 »

  1.   

    不用模板 直接生成html代码确实要慢 建议楼主 加个等待的进度条 
      

  2.   

    加一个进度条? 那就不用了! 我要显示出来是这样就好!
    如下:
    list_xxx.html 生成成功,取消请点击然后每次更新下!
      

  3.   

    呵呵 搞出来了!
    只要在生成的代码中加入
    <META HTTP-EQUIV=Refresh CONTENT=0;URL=?r=post/index&cid=all&id=".$id.">
    生成函数不变就可以了;$db = Yii::app()->db; //you have to define db connection in config/main.php
    $sql = "select id from category";
    $results = $db->createCommand($sql)->query();
    foreach($results as $key){
    $cids.=$key['id'].',';
    }
    $cids=substr($cids,0,strlen($cids)-1);
    $arry_cid=explode(',',$cids);
    $cid=$arry_cid[$id];
    create($cid);
    $msg= "分类:".$cid."更新完毕 操作还在继续其它分类 <a href=makehtml.php><b>取消返回</b></a>";
    $id++;
    $msg.="<META HTTP-EQUIV=Refresh CONTENT=0;URL=?id=".$id.">";
    echo $msg;
    exit();
      

  4.   

    时间匆忙,给你一个我曾经的帖子,看下,不知道能否榜上点忙
    http://topic.csdn.net/u/20100206/11/ba0d2d76-f06d-4c1e-a6c3-61647693bb9b.html
      

  5.   

    希望没有理解错。
    php 5中
    echo"<script>...........</script>"
    以js文件来替换部分。
    php4 似乎有别的方法,忘记了。
      

  6.   

    使用这种方法因为要每生成一个页面都要连接服务器确实很慢,最好使用模板替换生成静态快一些。
    至于实时显示更新页面的问题用关闭输出缓存的方法可以实现。举个列子set_time_limit(0);
    function t($i)
    {
        echo $i.'<br>';
        flush();
    }
    /*一些版本的 Microsoft Internet Explorer 只有当接受到的256个字节以后才开始显示该页面,所以必须发送一些额外的空格来让这些浏览器显示页面内容。*/
    for($n=0;$n<256;$n++)
    {
        echo " ";
    }
    ob_end_flush();//关闭输出缓存
    //实时输出
    for($k=0;$k<100;$k++)
    {
    sleep(1);
    t($k);
    }
    exit;