加载网页时输出 MySQL 行


Output MySQL rows while webpage has been loaded

我想要的结果:完全加载网页,但在完成后逐行连续输出 MySQL 查询。

解释:我想要一个网页显示它应该显示的信息,但同时我希望它逐行显示它如何处理 MySQL 查询。

假设您提交一个任务,脚本将向一组订阅者发送电子邮件。当您在网页上提交该任务/脚本时,您希望进入一个包含一些信息的新网页,并且在该页面上,您有一个表,该表正在"实时"中添加行。在处理完行后添加行。

这些列可以是"名字"、"姓氏"、"电子邮件"、"已处理"。

应该显示该表,一次一行,当脚本(MySQL查询)处理后,您将在已处理的列中获得订阅者和文本OK。

不确定我的解释是否足够清楚,请不要犹豫告诉我。

php ob_start 可以实现吗?

你可以

的想法是使用PHP函数ob_start(),你可以批量打印50,100,或一行一行。

    ini_set('display_errors', 1);
    error_reporting(E_ALL);
    ini_set('memory_limit', '512M');
    set_time_limit(0);
    ob_start(); //Object buffer
    //call a recursive function for batch processing
    processTask($pageNo=1);
     function processTask($pageNo=1){
            //perform task with page no 1, like using limit query , 
            //then call function the processTask with next page no if returned
            //row is not equal to zero
            //Must - calling below will out put on browser screen what is in echo statement 
            ob_flush();
            flush();
    }

我会使用 Javascript (ajax) 反复拉取最新行,因为这会导致任何 HTTP 连接都是短暂的和自包含的(我认为它们应该是)。

这是猜测,但我认为从长远来看,使用 ajax 会更好。