2

Here is what I've got right now...

I have a web page that when accessed, it connects to surveygizmo.com via their open API, retreives a whole lot of data, and then returns that data to me for processing on my end. This process takes roughly 10-12 seconds and while it is executing, the page just sits in the "loading" state and I'm shown a blank white page.

Here is what I want to happen...

When that same web page is accessed, I'd like it to kick off the script execution and begin retrieving the data from surveygizmo.com via their API in the same way I'm doing it now, but while that process is running, I would like there to be a "result are loading" page/message that is shown instead of the blank white page and then once the script execution finishes and all the results have been returned and processed, the "results are loading" page/message disappears.

I'm pretty familiar with php and javascript, but haven't been able to figure this one out yet. Any direction or advice on the matter would be greatly appreciated.

Thanks!

1
  • 1
    First thing that comes to mind is of course client side insertion of loading image and use AJAX to query the server........... On the server side alone... maybe buffer flushing? Commented Oct 1, 2010 at 5:12

3 Answers 3

3

You'll want to take a look at AJAX. The solution is to send the browser a "loading" page, which contains javascript that shows the loading message, and then connects to the actual data generating server-side script asynchronously. When you have received and processed the data, you can insert it into the DOM and remove the loading message. Googling for XMLHttpRequest will get you the details.

Sign up to request clarification or add additional context in comments.

Comments

0

Create a loading page that displays your desired loading message. Then using ajax (I HIGHLY recommend jQuery) load a separate php file that loads the outside data. Once the data returns to your loading page, it's a simple task of hiding the loading message and replacing it with the output of the ajax.

2 Comments

I'd suggest not using CAPITALS for emphasis. You can place a * before and after the words you want to emphasise for italic, or ** for bold and (in answers, but not comments) *** for italic and bold text. Also, I agree with your recommendation, jQuery's pure-awesome.
Yeah, I'm familiar with ajax, I just don't know if that would be the ideal solution for my particular problem.
0
<?php

     echo "Working...<br/>\r\n"; flush(); //output to the browser before the rest of the execution

     connect_surveygizmo(); //this is going to take while.

     echo "Finished!";

?>

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.