PHP Progress Bar - PullRequest
       10

PHP Progress Bar

0 голосов
/ 01 июля 2010

У меня есть одна форма, как показано ниже:

Страница 1:

<form name = "form1" method="post" action = "page2.php">
........
</form>

Page2.php:

<?php

For loop ...
.....
end

?>

Теперь я хочу иметь индикатор выполнения настраница 1, чтобы он мог показать ход выполнения цикла for в page2.php.

Скажите, как я могу это сделать?Пожалуйста, не направляйте меня на индикатор выполнения, я уже использую прогресс, но я не знаю, как внедрить в него код,

Ниже приведен код, который я сейчас использую

<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript" src="jquery.progressbar.min.js"></script> 

$(document).ready(function() { 
$("#spaceused1").progressBar(); 
}); 
HTML:

<span class="progressBar" id="spaceused1">25%</span> 

<a href="#" onclick="$('#spaceused1').progressBar(20);">20</a> 
<a href="#" onclick="$('#spaceused1').progressBar(40);">40</a> 
<a href="#" onclick="$('#spaceused1').progressBar(80);">80</a> 

Работает нормально, когда я нажимаю на вышеуказанные ссылки.Но как я могу показать его на странице 1, чтобы показать ход цикла for на странице 2.php?

Пожалуйста, помогите мне.

Ответы [ 3 ]

1 голос
/ 01 июля 2010

Page2.php:

<?php

for(;;) {
    //In each loop iteration, update your progress and store it in the session
    $_SESSION['myFormProgress'] = myProgressCalculation();
}

?>

А затем используйте AJAX для опроса сервера, получите текущее значение $_SESSION['myFormProgress'] и соответственно обновите свой индикатор выполнения.указывает, что вам также необходимо отправить форму на Page2.php с использованием AJAX.В противном случае вы не сможете продолжить выполнение JavaScript на странице (чтобы обновить индикатор выполнения).Когда цикл for закончен (и индикатор выполнения заполнен), я подозреваю, что вы захотите перенаправить пользователя на новую страницу, где можно увидеть результаты.

1 голос
/ 01 июля 2010

Если я правильно понимаю ваш вопрос, вам нужно будет использовать Ajax для отправки формы. Я не использую jQuery, поэтому я не знаю, как реализовать индикатор выполнения с помощью XMLHttpRequest.

0 голосов
/ 01 июля 2010

это довольно сложно сделать с помощью обычного Ajax, вам нужно немного изменить сервер, так как PHP его не поддерживает.

Theres - расширение, которое вас может заинтересовать, позволяющее php делать это.

Страница модуля: http://pecl.php.net/package/uploadprogress/1.0.1

Примеры: http://svn.php.net/viewvc/pecl/uploadprogress/trunk/examples/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...