How to delay the start of a function

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • sindre hiåsen

    How to delay the start of a function

    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
  • Ramon

    #2
    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]

    Comment

    • Colin McKinnon

      #3
      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.

      Comment

      • sindre hiåsen

        #4
        Re: How to delay the start of a function

        On Wed, 24 Aug 2005 10:29:14 +0200, Colin McKinnon
        <colin.deleteth is@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/

        Comment

        Working...