如何在PHP中工作时显示文本?

时间:2011-09-01 04:59:17

标签: php

当代码(如大规模数据库查询)正在运行时,如何在PHP中显示“加载”文本?

3 个答案:

答案 0 :(得分:3)

您可以使用AJAX调用。

  1. 浏览器显示“正在加载文字”
  2. 浏览器处理AJAX请求
  3. 当响应回来时,“加载文本”消失,你可以做某事(例如重定向到某个地方)

答案 1 :(得分:0)

关闭输出缓冲并输出html然后启动你的大代码。

apache_setenv('no-gzip', 1);
ini_set('zlib.output_compression', 0);
//if you are buffering output currently. Output buffering can be nested.
for ($i = 0; $i < ob_get_level(); $i++) { ob_end_flush(); } 
ob_implicit_flush(1);

Safari和IE有一个1k的缓冲区,你可能需要通过输出空格来填充它。例如。

答案 2 :(得分:0)

使用AJAX,您可以在Jquery库的帮助下完成。

  <html>
    <head>

       <tittle>Page Tittle</tittle>
      <script type="text/javascript" src="/js/jQuery.min.js"></script>
      function loadingAjax(div_id)  //javascript function
       {  
        $("#"+div_id).html('<img src="ajax-loader.gif"> saving...');  
           // image displayed when the request started
        $.ajax({  
            type: "POST",  
            url: "script.php",        //php script that will return the database result
            data: "name=John&id=28",  
            success: function(msg){  
                $("#"+div_id).html(msg);  //result displayed after success
            }  
        });  
       } 
</head>
<body>
<a href="#" onclick="loadingAjax('myDiv');">save page</a>  
<div id="myDiv"></div>  
</body>

此处将显示图像“ajax loader.gif”,直到您的数据库结果准备就绪。

希望它有所帮助。