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;

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • 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.