vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB4 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=252)
-   -   Widget Code Fails (https://vborg.vbsupport.ru/showthread.php?t=318565)

rcull 05-06-2015 11:39 AM

Widget Code Fails
 
I have a bit of code which works well in most places, but I would like it to work in my vb cms widgets. It seems beyond me to get it to work, but maybe someone would like to tell me what is wrong.

I have managed to get it work with an iframe in the widget, but the presentation is poor.



PHP Code:

    <?php
echo '<table class="alt1" border="1" bgcolor="fffceb" cellpadding="6" cellspacing="1" width="220">
    <tr><td colspan="4"><u>WANTED ADS</u><br />from the <i>Team Classifieds</i>...</td></tr>
    <tr>'
;

    
$mysql_link mysql_connect("localhost""username""password");
       
mysql_select_db ("teambuic_forums");
       if(!
$mysql_link){
         print(
"Did not connect to database<br>");
         exit;
       }
    function 
cl_get_ext$filename ) {
        return 
substr($filenamestrrpos($filename,"."));
    }

    
$result mysql_query('SELECT p.id, p.cat, p.user, p.userid, p.bigimage, p.title FROM ppc_products p WHERE p.cat=\'58\' OR p.cat=\'59\' OR p.cat=\'60\' OR p.cat=\'61\' OR p.cat=\'62\' ORDER BY RAND() DESC LIMIT 0, 4');
    while(
$row mysql_fetch_array($result,MYSQL_NUM))
                {
               
$photo $row[4];
               
$photolen strlen($photo);
               
$theext cl_get_ext($photo);
               
$photo_name str_replace$theext""$photo );

          echo 
'  <tr><td><center><a href=http://www.teambuick.com/classifieds/showproduct.php?product='.$row[0].'>'.           
                   
'<br>'.$row[5].
                   
'</a><br><b>'.$row[2].'</b><br></center></td>
    '
;
             } 


   echo 
'</tr>
</table>'
;
    
?>


kh99 05-06-2015 02:52 PM

You want to use a PHP Direct Execution type of widget (if you haven't already), then use the "configure" link on the right to enter your php code. The output html needs to be returned in a string called $output instead of using echo or print. The easiest way to do that would be to surround the existing code with ob_start() and ob_end_clean(), like this:

PHP Code:

ob_start();

// put existing code here, without the <?php and ?> tags

$output = ob_get_contents();
ob_end_clean();


and as the comment says, put your code there but don't include the first and last lines with the tags.

Also, I edited your post to put the code in code tags, and also to remove your database username and password, just in case.


All times are GMT. The time now is 03:52 PM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01089 seconds
  • Memory Usage 1,722KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (2)bbcode_php_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (2)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete