vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 General Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=111)
-   -   How to get this PHP code into a template (https://vborg.vbsupport.ru/showthread.php?t=109981)

RoutineX 03-10-2006 07:32 AM

How to get this PHP code into a template
 
I've been doing some reading and apparently you can't use PHP directly in the templates. The php code works perfectly standalone, but wanted to integrate it in a vBulletin template. I've made a plugin in global_start with the php code I want to use, but wasn't sure what to do next (if that even was right). I also read some in the API documentation, but didn't manage to get any further with that.

What I want to do is basically just connect to a database, selecting everything from a table and displaying it in a table(html) and print row for row.

Below is the code of what I'm going to do (just edited the values).

Hope anyone can help :)

PHP Code:

require ('auth.php'); 

$res mysql_query("SELECT * FROM TableName",$db); 
$test 1;

if(
$rad mysql_fetch_array($res)) 

    echo
'
    <table width="642" border="0" cellspacing="0">
    <tr bordercolor="#CCFF33">
        <td width="XX"><strong>Topic 1</strong></div></td>
        <td width="XX"><strong>Topic 2</strong></div></td>
      </tr>
      '
;
      do { 
         
printf("<tr bordercolor=\"#CCFF33\">
                 <td background=\"XXX.jpg\">%s</td> 
                 <td background=\"XXX.jpg\">%s</td>         
                <td background=\"XXX.jpg\">%s</td>
                </tr>\n"

                
                
$test,
                
$rad["Topic 1"], 
                
$rad["Topic 2"]);
                
$test++;                
             } 
             while (
$rad mysql_fetch_array($res)); 
              echo 
"</table>\n"
          } 
?> 


LWillmann 03-10-2006 12:02 PM

What if you assign the HTML to a variable in your code above, in the if statement, then just place a reference to the variable name in the template where you want it.

PHP Code:

<?php
require ('auth.php');  

$res mysql_query("SELECT * FROM TableName",$db);  
$test 1

if(
$rad mysql_fetch_array($res))  
{  
    
$output ' <table width="642" border="0" cellspacing="0">
    <tr bordercolor="#CCFF33"> 
        <td width="XX"><strong>Topic 1</strong></div></td> 
        <td width="XX"><strong>Topic 2</strong></div></td> 
      </tr> 
      '

      do {  
         
$output .= '<tr bordercolor="#CCFF33"> 
                 <td background="XXX.jpg">'
.$test.'</td>  
                 <td background="XXX.jpg">'
.$rad["Topic 1"].'</td>          
                <td background="XXX.jpg">'
.$rad["Topic 2].'</td> 
                </tr>\n'; 
               
$test ++; 
             }  
             while (
$rad = mysql_fetch_array($res));  
              
$output .= "</table>\n";  
          }
else
{
  
$output = "";
}
?>


Then in your temaplate, you should be able to call a reference to $output and it will hopefully work for you. This should at least be a start in the right direction.

SuperJETT 04-27-2006 02:51 PM

That worked perfectly for my page I was working on too.

Just to make it a tad clearer for people like myself:
In your .php page, have the output go into a variable (using the above custom page code) just above where you call the template you want it inserted into. Then in the template call that variable to stick it's html in.


All times are GMT. The time now is 05:11 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.01042 seconds
  • Memory Usage 1,733KB
  • 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
  • (3)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