Connecting Tech Pros Worldwide Help | Site Map

How to delay the start of a function

  #1  
Old August 24th, 2005, 08:05 AM
sindre hiåsen
Guest
 
Posts: n/a
Hi,

My problem is that a function in the page have a rather heavy mysql query.
The query takes between 6 - 10 seconds. while the query takes place other
content on the page stop loading (Opera). Explorer and Firefox seems to
wait for the whole page to load befor drawing the site.

Is there a way to tell the browser to draw all the content except for this
function and run through this at the end, alternatively to run the process
in backround?

This functionality a want is on many sites who let you search through
multiple whois databases.


Regards,

Sindre
  #2  
Old August 24th, 2005, 08:15 AM
Ramon
Guest
 
Posts: n/a

re: How to delay the start of a function


Well... I can't say that I know a PHP solution to this problem.
But if I were in your shoes I would split up the content I need rendered
and the function in question. Make sure that the *function* is sitting
in its own PHP file. Then render all the other content in the main
window. And have a frame or and iframe render the other function in its
own PHP file.

hope that makes sence. As I'm tired.

Cheers,

D


sindre hiåsen wrote:[color=blue]
> Hi,
>
> My problem is that a function in the page have a rather heavy mysql
> query. The query takes between 6 - 10 seconds. while the query takes
> place other content on the page stop loading (Opera). Explorer and
> Firefox seems to wait for the whole page to load befor drawing the site.
>
> Is there a way to tell the browser to draw all the content except for
> this function and run through this at the end, alternatively to run the
> process in backround?
>
> This functionality a want is on many sites who let you search through
> multiple whois databases.
>
>
> Regards,
>
> Sindre[/color]
  #3  
Old August 24th, 2005, 09:35 AM
Colin McKinnon
Guest
 
Posts: n/a

re: How to delay the start of a function


sindre hiåsen wrote:
[color=blue]
> Hi,
>
> My problem is that a function in the page have a rather heavy mysql query.
> The query takes between 6 - 10 seconds. while the query takes place other
> content on the page stop loading (Opera). Explorer and Firefox seems to
> wait for the whole page to load befor drawing the site.
>
> Is there a way to tell the browser to draw all the content except for this
> function and run through this at the end, alternatively to run the process
> in backround?
>
> This functionality a want is on many sites who let you search through
> multiple whois databases.
>[/color]

Use flush() before the function.

If you're really clever with CSS or javascript, you could generate the rest
of the page apart from the query output, call the function at the end of
the script and make it appear in the middle of the page but this is not
trivial.

Alternatively fix your query/schema so it goes faster (go ask on a MySQL
group, quoting the query and the output of EXPLAIN...)

C.
  #4  
Old August 25th, 2005, 08:15 AM
sindre hiåsen
Guest
 
Posts: n/a

re: How to delay the start of a function


On Wed, 24 Aug 2005 10:29:14 +0200, Colin McKinnon
<colin.deletethis@andthis.mms3.com> wrote:
[color=blue]
> sindre hiåsen wrote:
>[color=green]
>> Hi,
>>
>> My problem is that a function in the page have a rather heavy mysql
>> query.
>> The query takes between 6 - 10 seconds. while the query takes place
>> other
>> content on the page stop loading (Opera). Explorer and Firefox seems to
>> wait for the whole page to load befor drawing the site.
>>
>> Is there a way to tell the browser to draw all the content except for
>> this
>> function and run through this at the end, alternatively to run the
>> process
>> in backround?
>>
>> This functionality a want is on many sites who let you search through
>> multiple whois databases.
>>[/color]
>
> Use flush() before the function.
>
> If you're really clever with CSS or javascript, you could generate the
> rest
> of the page apart from the query output, call the function at the end of
> the script and make it appear in the middle of the page but this is not
> trivial.
>
> Alternatively fix your query/schema so it goes faster (go ask on a MySQL
> group, quoting the query and the output of EXPLAIN...)
>
> C.[/color]

Thanks to both. The IFrame should do it I think. Cant say why i havent
thought of that!

Sindre


--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
Closed Thread


Similar Threads
Thread Thread Starter Forum Replies Last Post
SetTimeout & How to pass parameters to delayed function Gretsch answers 5 December 29th, 2007 05:44 PM
Using sleep to delay execution for long periods of time? Max answers 18 November 20th, 2005 06:37 PM
Using sleep to delay execution for long periods of time? Max answers 0 November 20th, 2005 06:36 PM
comp.lang.c Answers to Frequently Asked Questions (FAQ List) Steve Summit answers 0 November 13th, 2005 03:15 AM