If I run this query in the PHP Admin it displays 2 records

SELECT staff.emp_no, staff.fName, staff.lName, event.event_date, event.timeStart, event.timeEnd, event.emp_no, event.agenda
FROM staff, event
WHERE staff.emp_no = event.emp_no
AND event.emp_no =201
AND event.event_date = "27-01-2008"
AND timeStart = "1020"

The above query gives
Results
emp_no fName lName event_date timeStart timeEnd emp_no agenda
201 John Atkins 27-01-2008 1020 1105 201 urgent meeting
201 John Atkins 27-01-2008 1020 1100 201 brief discussion

If I fill out a form and types in 27-01-2008 as the value for the variable $e_date, 201 for $check_array and 1020 for $s_time therefore making this new query

$sql = 'staff.emp_no, staff.fName, staff.lName, event.event_date, event.timeStart, event.timeEnd, event.emp_no, event.agenda FROM staff, event WHERE staff.emp_no = event.emp_no AND event.emp_no = "$check_array" AND event.event_date = "$e_date" AND timeStart = "$s_time"';

with this query from PHP prodices a ZERO record, can somebody tell me what is wrong? because even if I do a $count on mysql_fetch_array() I do not get a value greater than 0.

Hi.

The problem is that you are using single-quotes around your query.
Variables within single-quoted strings will not be evaluated like they are in double-quoted strings.

Consider this:

$var = 'hi';

echo "Var = $var"; // Var = hi
echo 'Var = $var';  // Var = $var

Try reversing the quotes in your query, replacing double-quotes with single-quotes and vise versa.

I just tried your correction but it did not work, therefore I have decided to display the whole query just in case you can tell me what I am doing wrong at this stage.

The program needs to check from the query the size of the fetch_query and then determine what to do but looks like the first part of the argument is the only one working ($count==0)

<html>
<head>
<title>Search - Online Diary System</title>
</head>
<body bgcolor="#FFFFFF" link="#0000CC" vlink="#0000CC">

<p>&nbsp;</p>
<p align="center"><img src="images/logo.GIF" width="543" height="72"></p>
<center>
  <table width="75%" border="0">
    <tr> 
      <td> <form name="searchf1" method="post" action="meet_list.php">
          <div align="center"> 
            <input type="submit" name="search1" value="Back">
        </form></td>
    </tr>
  </table>
</center>
<?php

$link = mysql_connect('localhost','db', 'database') or die('Could not connect: ' . mysql_error());
// echo 'Connected successfully';
mysql_select_db("online_diary",$link) or die ('Could not connect ' .mysql_error());
 
// search db and put results into array
FOREACH ($_SESSION['check_array'] as $check_array)
{

$sql = "staff.emp_no, staff.fName, staff.lName, event.event_date, event.timeStart, event.timeEnd, event.emp_no, event.agenda FROM staff, event WHERE staff.emp_no = event.emp_no AND event.emp_no = '$check_array' AND event.event_date = '$e_date' AND timeStart = '$s_time'";

$result=mysql_fetch_array($sql);

// Mysql_num_row is counting table row
$count=mysql_num_rows($result);

echo "$count";
// check $count
if ($count==0)
{ // no records match - go ahead and write record
	/**
	 * $face2face = new meet;
	 * 	$face2face->w_meet();
	 */
	header('location:meet.php');
	exit();
	
}
if ($count>0)
{
	// print the list into a table
	
	
?>
 <body>
<form name="check" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST"> 
<center> 
<?php
echo "<table border='1'>
<tr>
<th> Colleague(s) </th>
<th>Date (d-m-y)</th>
<th>Meeting Time</th>
<th>Agenda </th>
<th>Status </th>";

// use a while on the array to print the contents of the array
while ($e_row = mysql_fetch_array($result)){

	// $_SESSION['e_search']
	$status = 'busy';
	
echo "<tr>";
echo "<td>" . $e_row['fName'] . $e_row['lName'] . "</td>";
echo "<td>" . $e_row['event_date'] . "</td>";
echo "<td>" . $e_row['timeStart'] . "</td>";
echo "<td>" . $e_row['Agenda'] . "</td>";
echo "<td>" . $status ."</td>";

}
 
}
echo "</table>";
echo "<br />";
echo "<br />";
?>
 
<table>
  <tr>
    <td><input type="submit" name="search_cancel" value="Abandon"></td>
	<td><input type="submit" name="search_next" value="Auto Fix" /> </td>
  </tr>
</table>
</form>
</center>
<?PHP
}
if(isset($_POST['search_next'])){
	
		/**
		 * ensure all the selected checkboxes pass their ids to a new array
		 * 
		 */
		 
		 //print_r($_POST['dname']);
		 echo "<br />";
		 echo "<br />";
		 //foreach ($locations as $key => $value) {
		$_SESSION['check_array'] = $_POST['dname'];
		//print_r($_SESSION['check_array']);
		
		// where to pass control to????
		header('location:meet_fix.php');
		echo "<br />";                    
		exit(); 
		}else if (isset ($_POST['search_cancel'])){
		// return to my_meeting.php
		header('location:monthly.php');
		echo "<br />";                    
		exit();
			
	}
 


?>
</body>
</html>

I can't see where you set the $e_date or $s_time variables.
Did you perhaps forget to create them?

$sql = 'staff.emp_no, staff.fName, staff.lName, event.event_date, event.timeStart, event.timeEnd, event.emp_no, event.agenda FROM staff, event WHERE staff.emp_no = event.emp_no AND event.emp_no = "$check_array" AND event.event_date = "$e_date" AND timeStart = "$s_time"';

Quotations inside quotations. That just returns the string of the name of the variable and not what the value of the variable is. Also in addition, you need to add the method you are using at the beginning. I assume you are using the Select method. So try the following:

$sql = 'SELECT staff.emp_no, staff.fName, staff.lName, event.event_date, event.timeStart, event.timeEnd, event.emp_no, event.agenda FROM `staff`, `event` WHERE staff.emp_no = event.emp_no AND event.emp_no = "'.$check_array.'" AND event.event_date = "'.$e_date.'" AND staff.timeStart = "'.$s_time.'"';

-or-

$sql = 'SELECT staff.emp_no, staff.fName, staff.lName, event.event_date, event.timeStart, event.timeEnd, event.emp_no, event.agenda FROM `staff`, `event` WHERE staff.emp_no = event.emp_no AND event.emp_no = "'.$check_array.'" AND event.event_date = "'.$e_date.'" AND event.timeStart = "'.$s_time.'"';

In the 2 above code boxes, the only difference is which table the column timeStart is associated with at the end of the code. Hope that helps.

Now that I've taken a closer look at the code, there are a couple of errors in there.

First, like cwarn23 mentioned, you forgot the SELECT in your query.

Second, you are putting your query directly into the mysql_fetch_array function.
The mysql_fetch_array function is meant to process the return value from a mysql_query function and return a single row (See http://php.net/mysql_fetch_array).

A typical MySQL query should look like this:

<?php
// Assuming you already opened a connection before this...

$sql = "SELECT * FROM someTable";
$result = mysql_query($sql) or die(mysql_error());

echo "<table>";
while($row = mysql_fetch_row($result)) {
  echo "<tr>";
  foreach($row as $col) {
    echo "<td>$col</td>";
  }
  echo "</tr>";
}
echo "</table>";
?>

Which would fetch and display the entire table.

Note that the mysql_fetch_array , mysql_fetch_row and mysql_fetch_assoc functions are siblings. That is; they all fetch a single row from the resource returned by a mysql_query call.
The difference is that the mysql_fetch_assoc returns an associative array, using the column names as keys while the mysql_fetch_row function returns a zero-indexed array.
The mysql_fetch_array returns a combination of both, like if you were to merge the results of the other two.

I have updated the code as you all requested.

I am using the
FOREACH ($_SESSION as $check_array)
because $_SESSION holds an array of IDS which I am using as reference to search the table 'event'.

Is there another way I can query the database with WHILE and not use the FOREACH because, I expected the results to be in one table but it didn't - this is what i got


10
Colleague(s) Date (d-m-y) Meeting Time Agenda Status
JohnAtkins 27-01-2008 1020 urgent meeting busy
JohnAtkins 27-01-2008 1020 brief discussion busy
JohnAtkins 27-01-2008 1020 trade summit busy
JohnAtkins 27-01-2008 1020 trade summit busy
JohnAtkins 27-01-2008 1020 Parents Association busy
JohnAtkins 27-01-2008 1020 discussion on new slogan busy
JohnAtkins 27-01-2008 1020 new slogan busy
JohnAtkins 27-01-2008 1020 build a list of slogans busy
JohnAtkins 27-01-2008 1020 build list of slogans busy
JohnAtkins 27-01-2008 1020 anything goes busy

10MikeFloyd27-01-20081020urgent meetingbusyMikeFloyd27-01-20081020brief discussionbusyMikeFloyd27-01-20081020trade summit busyMikeFloyd27-01-20081020trade summit busyMikeFloyd27-01-20081020Parents AssociationbusyMikeFloyd27-01-20081020discussion on new sloganbusyMikeFloyd27-01-20081020new sloganbusyMikeFloyd27-01-20081020build a list of slogansbusyMikeFloyd27-01-20081020build list of slogansbusyMikeFloyd27-01-20081020anything goesbusy

As you can see it was 2 seperate tables. I have included the updated query below.

What I want done is to check if the event date matches with another event in the database then I will have to automatically find another time within the event date that all the IDs referenced in FOREACH are free before writing it as a record

<?php
session_start(); 

$met = mysql_connect("","","");
   if (!$met)
   {
       die('Could not connect: ' . mysql_error());
    }
    mysql_select_db("face2face", $met);
 
$e_date = $_SESSION['meet_date'];
$s_time = $_SESSION['stime'];


echo $e_date;
echo $s_time;
echo "<br />";
 
 ?>
 <html>
<head>
<title>Search - Online Diary System</title>
</head>
<body bgcolor="#FFFFFF" link="#0000CC" vlink="#0000CC">

<p>&nbsp;</p>
<p align="center"><img src="images/logo.GIF" width="543" height="72"></p>
<center>
  <table width="75%" border="0">
    <tr> 
      <td> <form name="searchf1" method="post" action="meet_list.php">
          <div align="center"> 
            <input type="submit" name="search1" value="Back">
        </form></td>
    </tr>
  </table>
</center>

<body>
<form name="check" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST"> 
<center> 
<?php
echo "<table border='1'>
<tr>
<th> Colleague(s) </th>
<th>Date (d-m-y)</th>
<th>Meeting Time</th>
<th>Agenda </th>
<th>Status </th>";


 
// search db and put results into array
FOREACH ($_SESSION['check_array'] as $check_array)
{

$sql = 'SELECT staff.emp_no, staff.fName, staff.lName, event.event_date, event.timeStart, event.timeEnd, event.emp_no, event.agenda FROM `staff`, `event` WHERE staff.emp_no = event.emp_no AND event.emp_no = "'.$check_array.'" AND event.event_date = "'.$e_date.'" AND event.timeStart = "'.$s_time.'"';

$result = mysql_query($sql) or die(mysql_error());

// Mysql_num_row is counting table row
$count=mysql_num_rows($result);

//
echo "$count";
// check $count
if ($count==0)
{ // no records match - go ahead and write record
	
	header('location:meet.php');
	//exit();
	
}
elseif (!$count=0)
{
	while ($e_row = mysql_fetch_array($result))
	{
		$status = 'busy';
		// print the list into a table
		echo "<tr>";
		echo "<td>" . $e_row['fName'] . $e_row['lName'] . "</td>";
		echo "<td>" . $e_row['event_date'] . "</td>";
		echo "<td>" . $e_row['timeStart'] . "</td>";
		echo "<td>" . $e_row['agenda'] . "</td>";
		echo "<td>" . $status ."</td>";
		
		
	}

}


echo "</table>";
echo "<br />";
echo "<br />";
?>
 
<table>
  <tr>
    <td><input type="submit" name="search_cancel" value="Abandon"></td>
	<td><input type="submit" name="search_next" value="Auto Fix" /> </td>
  </tr>
</table>
</form>
</center>
<?PHP
}
if(isset($_POST['search_next'])){
	
		
		 
		 //print_r($_POST['dname']);
		 echo "<br />";
		 echo "<br />";
		 //foreach ($locations as $key => $value) {
		//$_SESSION['check_array'] = $_POST['dname'];
		//print_r($_SESSION['check_array']);
		
		// where to pass control to????
		header('location:meet_fix.php');
		echo "<br />";                    
		exit(); 
		}else if (isset ($_POST['search_cancel'])){
		// return to my_meeting.php
		header('location:monthly.php');
		echo "<br />";                    
		exit();
			
	}
 


?>
</body>
</html>

Hi Folks, I have sorted the FOREACH and the printing into a single table - it was due putting '}' at the wrong place.

The corrected part is:

}

   }

}
echo "</table>";
echo "<br />";
echo "<br />";
?>
 <table>

What I want to do next is from the 'event' table during the printing of the details into the table, put the timeEnd value into an array for each event.emp_no as the key so that I can search the array for the highest value of the timeEnd and then add 100 to that value before performing another search until I can find 1 free time that all the staff are Free and can attend the meeting bearing in mind the search cannot go beyond 1700 (24 hour format)

From my last post, I have done some work but the following function is given errors because I may be doing something wrong with the array.

I have populated an array by using

// $_SESSION array to accept 'event' emp_no & timeEnd
		$endt=array($e_row['emp_no'] => $e_row['timeEnd']);

where $endt was declared as global.

function max_time()
 	{
 		// find out the highest figure in the array for the timeEnd, then add 100 for the next hour
 		
 		FOREACH($endt as $key => $val)
 		{
 			if ($val == max($endt))
 			{
 				$_SESSION['my_key'] = $key;
 			}
 		}
 		
 		add_time();
 	}

can someone correct with the proper function to perform on the Array $endt

The error messages are:
1. Warning: Invalid argument supplied for foreach()

2. Fatal error: Call to undefined function add_time()

add_time() is a declared function in the same code.

The Warning is shown because the $endt variable you are using isn't an array.
This is probably because you didn't import it into the current scope, so as it is, the variable is undefined.
Consider this:

<?php
// This defnies a varaible in the global scope
$arr = array(0 => "value");

function doError()
{
	// At this point, there is no variable named
	// $arr in the local scope. The $arr variable
	// defined in the global scope is not visible here.
	
	// Which means that this foreach loop is using a
	// undefined variable, which generates a warning.
	foreach($arr as $_key => $_value)
	{
		// etc...
	}
}

function doCorrect()
{
	// This imports the $arr variable into
	// the current scope.
	global $arr;
	
	// And now we are working with the global variable.
	foreach($arr as $_key => $_value)
	{
		// etc...
	}
}
?>

Secondly, the fatal error there is being shown because you are calling a function that does not exist. If it did, this error wouldn't happen.
Make sure the spelling is correct and that all includes are in order.

If you can't find the problem, post the function here.

Since I have Session already started in the pages, I decided to use session instead of global and the error is gone. I did a print of the $_session but had only one record as the output, infact the last row. This is how I used the session

$endt =array(0 => "value");

elseif (!$count=0)
{
	while ($e_row = mysql_fetch_array($result))
	{
		$status = 'busy';
		// print the list into a table
		echo "<tr>";
		echo "<td>" . $e_row['fName'] . $e_row['lName'] . "</td>";
		echo "<td>" . $e_row['event_date'] . "</td>";
		echo "<td>" . $e_row['timeStart'] . "</td>";
		echo "<td>" . $e_row['agenda'] . "</td>";
		echo "<td>" . $status ."</td>";
		
		// $_SESSION array to accept 'event' emp_no & timeEnd
		//global $endt;
		//$endt=array($e_row['emp_no'] => $e_row['timeEnd']);
		$_SESSION['$endt']= array($e_row['emp_no'] => $e_row['timeEnd']);
	}
}

Should it have been like this?

// $_SESSION array to accept 'event' emp_no & timeEnd
		global $endt;
		$endt=array($e_row['emp_no'] => $e_row['timeEnd']);
		//$_SESSION['$endt']= array($e_row['emp_no'] => $e_row['timeEnd']);
		$_SESSION['$endt']= $endt;

add_time() function call::
Even though the function has been declared just beneath the function call statement, it still gives fatal error.

function max_time()
 	{
 		// find out the highest figure in the array for the timeEnd, then add 100 for the next hour
 		//$_SESSION['$endt']= array($e_row['emp_no'] => $e_row['timeEnd']);
 		//foreach ($_SESSION['$endt'] as $key => $val) 
 		FOREACH($_SESSION['$endt'] as $key => $val)
 		{
 			if ($val == max($_SESSION['$endt']))
 			{
 				$_SESSION['my_key'] = $key;
 			}
 		}
 		
 		add_time();
 	}
 	
 	function add_time()
 	{
 		// increase the time to 1 hour forward
 		$_SESSION['my_key'] = $_SESSION['my_key'] + 100;
 		
 		if ($_SESSION['my_key'] > 1700)
 		{
 			// discard scan plus writing record - pass control to abandon
 
 		}elseif ($_SESSION['my_key']<= 1700)
 		{
 			// do the new scan
 			scan();
 		}	
 	}

I am posting the entire code, I tried to comment out the function call for add_time(); however, another function was next reported. can somebody look at the code below and offer advise?

<?php
session_start(); 
// This prg automatically fixes a meeting after a scan for free slots
 //get the list from //$_SESSION['check_array'] for the emp_no's
 
 
 class Mfix{
 	
 	function db()
 	{
 		$met = mysql_connect("","","");
   		if (!$met)
   		{
       		die('Could not connect: ' . mysql_error());
    	}
    	mysql_select_db("", $met);
		 
 		
 	}
 	
 	function max_time()
 	{
 		// find out the highest figure in the array for the timeEnd, then add 100 for the next hour
 		//$_SESSION['$endt']= array($e_row['emp_no'] => $e_row['timeEnd']);
 		//foreach ($_SESSION['$endt'] as $key => $val) 
 		FOREACH($_SESSION['$endt'] as $key => $val)
 		{
 			if ($val == max($_SESSION['$endt']))
 			{
 				$_SESSION['my_key'] = $key;
 			}
 		}
 		
 		add_time();
 	}
 	
 	function add_time()
 	{
 		// increase the time to 1 hour forward
 		$_SESSION['my_key'] = $_SESSION['my_key'] + 100;
 		
 		if ($_SESSION['my_key'] > 1700)
 		{
 			// discard scan plus writing record - pass control to abandon
 			
 			
 			
 		}elseif ($_SESSION['my_key']<= 1700)
 		{
 			
 			
 			// do the new scan
 			scan();
 		}
 		
 		
 	}
 	
 	function scan()
 	{
 		// connect to db
 		db();
 		
 		
 		//accept variables
 		FOREACH ($_SESSION['check_array'] as $check_array)
		{
		  $e_date = $_SESSION['meet_date']; 
		  $s_time = $_SESSION['my_key'];  // new value for timeEnd
		  //$emp_no = $check_array; 
		 		 
		 /**
  		  * query the db
    	*/
 		 $sql = 'SELECT staff.emp_no, staff.fName, staff.lName, event.event_date, event.timeStart, event.timeEnd, event			.emp_no, event.agenda FROM `staff`, `event` WHERE staff.emp_no = event.emp_no AND event.emp_no = "'					   .$check_array.'" AND event.event_date = "'.$e_date.'" AND event.timeStart = "'.$s_time.'"';

		 $result = mysql_query($sql) or die(mysql_error());
		 
		 // check for num_row_count if > 0 means trouble
 		$crazy=mysql_num_rows($result);
 		
 		if ($crazy==0)
 		{ // insert record into event
 			write_meet();
 		}elseif($crazy>0)
 		{
 			// check value of $_SESSION['my_key']
 			if ($_SESSION['my_key'] >= 1700)
 			{
 				// end of the road - report can't continue with auto fix unless date is changed
 				popup();
 			}elseif ($_SESSION['my_key']< 1700)
 			{
 				//go back and add extra hour b4 scanning
 				add_time();
 			}
 			
 		}
 		
 		
 	}
 	
 	function write_meet()
 	{	// connect to db
 		db();
 		
		 // declare variable to count number of records inserted
		 $_SESSION['kount']=1;
		 		 
		 // accept the $_SESSION variables
 		 FOREACH ($_SESSION['check_array'] as $check_array){
		  
		 $event_date = $_SESSION['meet_date']; 
		 $timeStart = $_SESSION['stime'];  
		 $timeEnd = $_SESSION['etime'];
		 $location = $_SESSION['locate'];
		 $agenda = $_SESSION['mdescription'];
		 $emp_no = $check_array; 
		 $originator = $_SESSION['emp_numb'];
		 
		 /**
  		  * insert the above details into the db
    	*/

		 $sql="INSERT INTO event ( event_id, event_date, timeStart, timeEnd, location, agenda, emp_no, originator)
		 VALUES 
		 ('Null','$event_date','$timeStart','$timeEnd','$location','$agenda','$emp_no','$originator')";
		 
		 $_SESSION['kount']++;
 	 
		 }
		 
		 // close db
		 if (!mysql_query($sql,$met))
  		{
   		 die('Error: ' . mysql_error());
 		 }
   		mysql_close($met);
   		
   		echo "\n\n\t\t\t\t\t\t\t\tRecord Added";
   	
		// send control to monthly.php
		header('location:my_meeting.php');
 	}
 	
 	function popup()
 	{
 		// pop up window after pressing ok send control to my_meeting for change of date.
 		echo "\n\n\t\t\t\tSorry, Auto Fix of your Meeting request\n";
		echo "\t\t\t\tIs not Possible until you change\n";
		echo "\t\t\t\tyour date for the event ";
 		
 		?>
 		<html>
		<form method="post" action="my_meeting.php">
	 	<p><input type="submit" name="fix_eror" value="OK"></p></form>
		 </html>
		<?php
 	}
 
}
}

?>

Ahh ok. So these function are class methods?
To call a method you have to do: $object->method() , rather than just: method() So in your case, change the: add_time(); call to: $this->add_time(); Also, one thing I don't really get.
You have a $_SESSION['$endt'] variable.
What exactly is that?

This seems strange, because it looks like you are trying to using the value of the $endt variable as the key, but you are surrounding it with single-quotes, which makes it literally use the text $endt as the key value rather the the value of the $endt variable.

If you add a var_dump($_SESSION['$endt']); in your max_time function, before the foreach loop, what does that output?

I have done the correction and inserted var_dump($_SESSION);

unfortunately there is an error::
Fatal error: Call to undefined method Mfix::write_meet()

from this line

if ($crazy==0)
 		{ // insert record into event
 			$this->write_meet();
 		}elseif($crazy>0)

$this->write_meet(); is causing the error. Very strange as the other class methods call functions are working, at lest they haven't shown an error yet.

Where is that piece of code located? Inside the Mfix class?

Does the Mfix class have a write_meet() method?

That makes no sense.

PHP says: Call to undefined method Mfix::write_meet() . Therefore, Mfix does not have a write_meet method.
PHP does not lie.

Make sure the spelling is correct and that you didn't accidentally put the method into the wrong place.

I am posting the Mfix class

class Mfix{
 	
 	function db()
 	{
 		$met = mysql_connect("","","");
   		if (!$met)
   		{
       		die('Could not connect: ' . mysql_error());
    	}
    	mysql_select_db("", $met);
		
 	}
 	
 	function max_time()
 	{
 		FOREACH($_SESSION['$endt'] as $key => $val)
 		{
 			if ($val == max($_SESSION['$endt']))
 			{
 				$_SESSION['my_key'] = $key;
 			}
 		}
 		
 		$this->add_time();
 	}
 	
 	function add_time()
 	{
 		}elseif ($_SESSION['my_key']<= 1700)
 		{
 			// do the new scan
 			$this->scan();
 		}
 	}
 	function scan()
 	{
 		// connect to db
 		$this->db();
 		 		
		 /**
  		  * query the db
    	*/
 		 $crazy=mysql_num_rows($result);
 		
 		if ($crazy==0)
 		{ // insert record into event
 			$this->write_meet();
 		}elseif($crazy>0)
 		{
 		// check value of $_SESSION['my_key']
 			if ($_SESSION['my_key'] >= 1700)
 			{
 			// end of the road - report can't continue with auto fix unless date is changed
 				$this->popup();
 			}elseif ($_SESSION['my_key']< 1700)
 			{
 				//go back and add extra hour b4 scanning
 				$this->add_time();
 			}
 		}
  	}
 	function write_meet()
 	{	// connect to db
 		$this->db();
 		
		 // declare variable to count number of records inserted
		 // accept the $_SESSION variables
 		etc 
 	}
 	function popup()
 	{
 		// after pressing ok send control to meeting for change of date.
 		etc
 	}
 }
}

I just copied the whole class and deleted the logic since it was taken up much space - just wanted to show the calling methods and the functions as they are.

This article has been dead for over six months. Start a new discussion instead.