Jump to content

Fatal error: Call to a member function postage_country_display() on a non-object


shannont

Recommended Posts

Hello guys :)

 

I'm pulling out my last remaining hairs with this PHP problem. I'm not really good at PHP but I'm trying to do some changes to a script as instructed by the developer, but apparently I got some wrong instructions. The error I get is:

 

Fatal error: Call to a member function postage_country_display() on a non-object in file.php on line 34

 

I've been searching the web high and low and can't seem to find a solution. Does anyone have a hint at what might be wrong?

 

:(

 

Here is the code that's causing the problem and the class.

 

Code:

 

$template->set('items_id', intval($_REQUEST['items_id']));

$item_details = $db->get_sql_row("SELECT * FROM " . DB_PREFIX . "items WHERE
items_id='" . intval($_REQUEST['items_id']) . "'");

$unCountryPrice = unserialize(stripslashes($db->add_special_chars($item_details['country_postage'])));
		// print_r($unCountryPrice);

	$postageCountry = $item->postage_country_display($unCountryPrice,$item_details['currency']);

	 $template->set('postageCountry', $postageCountry);


$template->set('item_details', $item_details);

 

And here is the class:

 

function postage_country_display($unCountryPrice,$currency) {
  if (is_array($unCountryPrice)) {

	$postageCountry = "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
";
        $fees = new fees();
	while (list($k,$v)= each($unCountryPrice)){
	       $cQueyr = $this->query("SELECT a.name as name1,b.name as name2 FROM " . DB_PREFIX . "countries a LEFT JOIN " . DB_PREFIX . "countries b ON (a.parent_id = b.id) WHERE a.id = '". $k ."'"); 
			$cRow = $this->fetch_array($cQueyr);

			$postageCountry.="<tr><td>". ($cRow['name2']==""?$cRow['name1']:$cRow['name2'].' > '.$cRow['name1']) ."</td><td> ".$currency.' '.number_format($v,2)."</td></tr>";
   		}
	 $postageCountry.="</table>";
	 }
	return  $postageCountry;

I forgot to mention, when I uncomment this line:

 

// print_r($unCountryPrice);

 

and comment the line below instead, then it outputs the script correctly and also the variables correctly on top of the HTML page like this:

 

Array ( [2084] => 1.00 [1903] => 2.00 )

 

Maybe that helps.

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.