Re: Cancel a query when user leaves a web page

From: "Muhyiddin A(dot)M Hayat" <middink(at)indo(dot)net(dot)id>
To: "Noel" <noel(dot)faux(at)med(dot)monash(dot)edu(dot)au>, <pgsql-php(at)postgresql(dot)org>
Subject: Re: Cancel a query when user leaves a web page
Date: 2003-11-19 17:44:08
Message-ID: 00aa01c3aec5$3fb5df60$2b179fca@middinkcomp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-php

<body onunload(<?close_connection($connection)?>)>

onunload above can't call function from PHP, but it called from javascript, you can create javascript function to call PHP function/file that you wanna PHP do

<?php
// close_connection.php
include('connection.php');
global $connection;

function close_connection($connection){
// close_connection here
// .....
// .....
// .....

}

close_connection($connection);
echo "<SCRIPT>window.close();</SCRIPT>";
?>

---------

<html>

<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
function leave() {
window.open('close_connection.php','','toolbar=no,menubar=no,location=no,height=10,width=10');
}
// End -->
</SCRIPT>

<body onunload = "leave()">

</body>
</html>

----- Original Message -----
From: Noel
To: pgsql-php(at)postgresql(dot)org
Sent: Tuesday, November 18, 2003 10:33 AM
Subject: [PHP] Cancel a query when user leaves a web page

Hi all,

I have a small problem. Is it possible to cancel a running query when a person leave or pressed the stop button in my web page.

I've been thinking about mixing php and javascript. Is this the best way to go about it?

basic out line of my code:
<html><head>....stuff....</head>
<body>...stuff
<?php
$connection = pg_connect(host, dbname, user);

pg_send_query($connection, "SELECT * FROM blah");

// collect the results and display etc..
?>
</body></html>
The query can take some time.
And when the page is left the query is still running on postmaster.

Have tried
<?php
include "functions.php";
$connection = pg_connect(host, dbname, user);
?>
<html><body onunload(<?close_connection($connection)?>)>
<?php
echo $connection;
pg_send_query($connection, "SELECT * FROM blah");

// collect the results and display etc..
?>
</body></html>

The function, close_connection($connection), is defined in the include file, which is the connection is busy, cancels the query and closes the connection.

This gives the following error:

Resource id #1
Warning: pg_send_query(): 1 is not a valid PostgreSQL link resource in /home/fauxn/public_html/singleAArepeats/test.php on line 11

Any suggestions welcome.

Many thanks

--
Noel Faux
Department of Biochemistry and Molecular Biology
Monash University
Clayton 3168
Victoria
Australia

In response to

Responses

Browse pgsql-php by date

  From Date Subject
Next Message tuncay bas 2003-11-20 09:07:07 pgsql on windows
Previous Message ljb 2003-11-19 02:05:35 Re: Cancel a query when user leaves a web page