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