比如从数据库取10条记录组成一个数组,然后用foreach循环对数组里面的每一条记录都进行处理,显示效果如下:
正在对第 1 条数据进行处理……完毕之后再显示正在对第 2 条数据进行处理…………
一直这样下去……
直到该数组10条记录均处理完毕,然后再刷新页面继续从数据库取10条记录组成数据,继续进行处理其他的功能都完成了,但是这个“正在处理第 N 条数据……”这样的显示效果不知道怎么写,希望大虾赐教!非常感谢 !

解决方案 »

  1.   

    foreach(){
       flush();
       echo '<br />';
       echo "正在对第 {$i}条数据进行处理";
       ob_flush();
    }
      

  2.   

    做过,我是用共享内存的,因为当时发生互斥锁问题..实时跟踪状态的话,建议用共享内存
    $shm_id = shmop_open(crc32(”hello_你好 哈哈”), “c”, 0644, 100);
      

  3.   

    ajaxPHP执行整个过程过程是很短暂,一瞬间的事情。
      

  4.   

    谢谢楼上各位朋友的回复,可能我说得不清楚,应该是下面这样的效果:正在对第 1 条数据进行处理……完毕之后上面处理第1条的信息消失,然后再显示正在对第 2 条数据进行处理……就是页面只显示一行文字,第一条处理完毕后,“正在对第1条数据进行处理……”这样的文字就消失了,然后只显示处理第2条记录的文字,用数字2替换了1这样,类似页面刷新了,但并不是真正的刷新,因为一刷新页面,就又会从数据库读取10条新的记录进行处理了。我对php不是很熟悉,只会一些很简单的,希望能贴出代码,不胜感激!
      

  5.   


    你需要的是javascript。用ajax。
      

  6.   

    代码如下:$i=1;
    foreach($arr as $val){
      echo '<br />';
      echo "<script language='javascript'>document.write('正在对第{$i}条数据进行处理');</script>";
      ob_flush();
      flush();
    }
      

  7.   

    上面写错了!改成$i=1;
    foreach($arr as $val){
        echo "<script language='javascript'>document.write('正在对第{$i}条数据进行处理');</script>";
        ob_flush();
        flush();
        $i++
    }
      

  8.   

    谢谢各位,可惜不懂ajax,唉,麻烦……
      

  9.   


    按我9楼写的做!何必用ajax!
      

  10.   

    我发觉帝国备份王在备份或恢复数据的过程中,也同样可以做到无刷新显示,和我想要的效果一样,他用的是iframe,只是看他的代码很复杂,不懂不知谁能帮下忙?