PHP While While循环中的JQuery函数

时间:2011-11-28 21:04:42

标签: php jquery

我有一个PHP WHILE循环,我用来发送一批电子邮件。

我想做的是让DIV向我的用户显示当前通过jQuery发送的电子邮件数量。

因此,当每次传递都在循环中进行时,它将使用新计数更新单个div。我试图避免在我的代码中使用简单的echo $count;,因此它不只是向下滚动页面。我的数量约为3000。

谢谢! 瑞克

5 个答案:

答案 0 :(得分:2)

这里混合了两个执行阶段。 PHP执行serverside并发送回HTML。你需要理解的是你的PHP应该输出一些HTML + jQuery然后使用AJAX来回调另一个脚本,这个脚本将执行简单快速的工作单元,例如发送电子邮件:

  1. index.php发送回HTML + jQuery
  2. jQuery AJAX是对process.php的调用
  3. process.php处理一封电子邮件并发回JSON回复
  4. AJAX接收响应,处理它并再次调用“process.php”,直到整个过程完成。
  5. 我不能给你真实的例子,因为它需要花费很多时间来写下来,但你对一般的方法有一个好主意。

    祝你好运


    以下是一些可以帮助您入门的建议:

    http://api.jquery.com/jQuery.post/

    http://ca2.php.net/json_encode

    http://ca2.php.net/json_decode

    有了这个,你应该能够比完全搜索自己快一点。

答案 1 :(得分:1)

你必须有一个PHP脚本发送电子邮件,每次发送电子邮件时都会向数据库写入一个值(或者是10,20,30等的倍数,所以你不要过度使用数据库)

然后你需要创建另一个可以在数据库中显示值的PHP

最后,在(可能的)第3页上使用jQuery,您可以执行第2页的ajax请求获取第2页的输出,您每隔X秒重新请求ajax请求

答案 2 :(得分:1)

你做错了。

相反,您应该fork脚本并让它在后台运行。所述脚本应更新状态文件(最好每10封电子邮件一次)并存储当前进度或消息done

在JavaScript方面你要枯萎的东西直接读取该文件的内容(如果你把它放在document_root里面的某个地方),或者执行一个简单的php脚本来读取该文件并返回状态更新。 / p>

P.S。任何一个都不需要jQuery。

答案 3 :(得分:1)

你基本上不能以你建议的方式做你所建议的事情。

相反,你可以看看这个结构的东西:有一个javascript函数触发一个php文件发送10封邮件,然后更新说,我现在已经发出了10个以上 x 的邮件。

你可以使用jquery的post()方法进行触发,调用带有一些参数的另一个文件然后接收答案。

答案 4 :(得分:0)

所有答案都很棒,我真的很感激! 他们都让我思考,我想出了一个新方法来解决我的问题。 最初,当用户等待时,我将让我的PHP脚本运行MAIL()函数。这带来了它自己的问题......比如,如果用户关闭了他们的浏览器怎么办?

所以,我要做的是将信息保存到我的数据库,然后经常运行cron作业,寻找未发送的邮件。当它找到一些时,它会发送它。通过这种方法,我可以立即(或在合理的时间内)发送重要的邮件爆炸,并在凌晨发布不那么重要的邮件,以免堵塞我的服务器。然后,在我的邮件成功(或未成功)发送后,我可以向用户发送更新。

感谢所有回复的人!这是所有的答案,让我的大脑工作......

瑞克