cmazur Posted September 7, 2007 Share Posted September 7, 2007 Hey All, I've got some code that constantly updates a table on my web page. There is an update every 250 milliseconds. The problem is that my memory usage for IE is outrageous after about 5 minutes of running (roughly 600 mb of memory used). I'm not sure if this is a problem with my PHP script that pulls the data or the use of Sajax. My code is below: PHP Script to pull data: <?php require("Sajax.php"); session_start(); //Execute a SQL query and return a row function execute_mysql($sql) { //Connect to Database $db_host = "host"; $db_user = "username"; $db_pass = "password"; $db_name = "table"; $link = mysql_connect( $db_host, $db_user, $db_pass ); if(!$link) { unset($link); return -1; //database connection failed } else { $db_selected = mysql_select_db( $db_name ); if(!$db_selected) { mysql_close($link); unset($link); unset($db_selected); return -1; //database not selected } $res = mysql_query( $sql ); if(!$res) { mysql_close($link); unset($link); unset($db_selected); unset($res); return -1; //bad query } if(mysql_num_rows($res) == 0) { mysql_close($link); unset($link); unset($db_selected); unset($res); return -1; //empty query results } $row = mysql_fetch_assoc($res); mysql_close($link); unset($link); unset($db_selected); unset($res); return $row; } } //All 12 of the functions to be exported are in this format // They just pull different data function f1() { $sql = "SELECT STATEMENT;"; $row = execute_mysql($sql); echo "$row['col2']"; unset($sql); unset($row); } //Setup the Ajax sajax_init(); sajax_export("f1"); sajax_export("f2"); sajax_export("f3"); sajax_export("f4"); sajax_export("f5"); sajax_export("f6"); sajax_export("f7"); sajax_export("f8"); sajax_export("f9"); sajax_export("f10"); sajax_export("f11"); sajax_export("f12"); sajax_handle_client_request(); ?> The code the contains the Javascript for the calling of the functions and the timer event <script type='text/javascript'> <?php sajax_show_javascript(); ?> var secs; var timerID = null; var timerRunning = false; var delay = 250; function InitializeTimer() { secs = 1; StopTheClock(); StartTheTimer(); } function StopTheClock() { if(timerRunning) clearTimeout(timerID); timerRunning = false; secs = 1; } function StartTheTimer() { if(secs == 1) { <?php //Set the initial values for the bytes and packets of each feed f1(); f2(); f3(); f4(); ?> } //document.getElementById("divMem").innerHTML = "<?php echo memory_get_usage(false); ?>"; //self.status = secs + " Updates Performed"; secs = secs + 1; timerRunning = true; x_f1(f1_cb); x_f2(f2_cb); x_f3(f3_cb); x_f4(f4_cb); x_f5(f5_cb); x_f6(f6_cb); x_f7(f7_cb); x_f8(f8_cb); x_f9(f9_cb); x_f10(f10_cb); x_f11(f11_cb); x_f12(f12_cb); timerID = self.setTimeout("StartTheTimer()", delay); } function f1_cb(f1) { var temp = f1; if(temp != -1) document.getElementById("lblF1").innerHTML = temp; } Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.