• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 308
  • Last Modified:

passing function to a function?

Hello, I am trying to pass a function to a function in PHP, but it seems that only the function that is being passed works.

The Value of woo_get_custom_banner('bannerIDside') is 10 and the only thing that shows up on the page is 10 but what SHOULD be showing up is a banner!

if I use
mba_display_banner(10);
the function works perfectly.

any ideas??
<div id="rightbanner">
<?php mba_display_banner(woo_get_custom_banner('bannerIDside')); ?>
</div>

Open in new window

0
b1xx1b
Asked:
b1xx1b
  • 5
  • 4
1 Solution
 
wellholeCommented:
What does mba_display_banner(10) do for you? If it does the same thing as what you posted above, then your problem lies in mba_display_banner.
0
 
b1xx1bAuthor Commented:
if I use
mba_display_banner(10);
the function works perfectly and correctly displays the banner (with banner_id = 10)
0
 
wellholeCommented:
Oops.. didn't read the whole thing. Are you absolutely sure woo_get_custom_banner is working correctly?
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
b1xx1bAuthor Commented:
( i edited the post AFTER you commented ... you didn't miss it :))
yes, I am positive the function works perfectly.
0
 
wellholeCommented:
Would you mind sharing both functions?
0
 
b1xx1bAuthor Commented:
sure here they are:

function mba_display_banner(&$banner_id) {
      global $MBPBannerAdsPlugin;
      global $banner_id;
      if ( !is_admin() ) {
            if ( intval($banner_id) > 0 ) {
                  $banner_filter = "id='$banner_id'";
            } else {
                  $banner_filter = "name='$banner_id'";
            }
            $sql = "SELECT id,url,link,in_new_win,ad_type,text_ad_code FROM $MBPBannerAdsPlugin->mban_banner_table WHERE status='1' AND {$banner_filter}";
            $rs  = mysql_query($sql);
            $id   = array();
            $url  = array();
            $link = array();
            $in_new_win = array();
            $text_ad_code = array();
            $zone_properties = array();
            while ( $data = @mysql_fetch_assoc($rs) ) {
                  $cnt++;
                  if ( $data['ad_type'] == 1 ) {
                        $id[] = $data['id'];
                        $text_ad_code[] = $data['text_ad_code'];
                  } else {
                        $id[]   = $data['id'];
                        $url[]  = $data['url'];
                        $link[] = $data['link'];
                        $in_new_win[] = $data['in_new_win'];
                  }
            }
            if ( count($id) > 0 ) {
                  $banner_output = $MBPBannerAdsPlugin->__mbanGetBanner($id,$url,$link,$in_new_win,$zone_properties,$text_ad_code);
                  echo $banner_output;
                  //echo $sql;
            }
      }
}



function woo_get_custom_banner($key) {

global $post;
$custom_field = get_post_meta($post->ID, $key, true);
if ($custom_field) {
      $custom_field = stripslashes($custom_field);
?>
<?php echo $custom_field; ?>
<?php
}
else { //else, return
      return;
}
}
0
 
wellholeCommented:
Well theres your problem. woo_get_customer_banner is ECHOING the result instead of returning it.
0
 
b1xx1bAuthor Commented:
Note:  I have used the function like this:
function mba_display_banner(&$banner_id)
and with the & like this
function mba_display_banner($banner_id)

and still does not work correctly.
0
 
b1xx1bAuthor Commented:
Thanks!  That did the trick.  duh.
0

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

  • 5
  • 4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now