borgalliance
08-15-2011, 03:43 PM
Original: https://www.vbulletin.com/forum/showthread.php/385945-Using-templates-display-custom-table-SQL-query-within-while-loop
I've created a template within my style so that it keeps the same look at feel of or forum. The variable $out is only showing the <th> before and after the while loop, but not the <tr><td> output of loop itself.
Am I missing something here?
custom_file.php
<?php
// ####################### SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);
// #################### DEFINE IMPORTANT CONSTANTS #######################
define('NO_REGISTER_GLOBALS', 1);
define('THIS_SCRIPT', 'custom_file'); // change this depending on your filename
define('CSRF_PROTECTION', true);
// ################### PRE-CACHE TEMPLATES AND DATA ######################
// get special phrase groups
$phrasegroups = array();
// get special data templates from the datastore
$specialtemplates = array();
// pre-cache templates used by all actions
$globaltemplates = array(
'custom_file',
);
// pre-cache templates used by specific actions
$actiontemplates = array();
// ######################### REQUIRE BACK-END ############################
require_once('./global.php');
if (empty($vbulletin->userinfo['userid']))
{
print_no_permission();
}
$output = "<table><th>1</th><th>2</th><th>3</th><th>4</th>";
$query = "SELECT * FROM test_table ORDER BY Date DESC";
while($row = $db->fetch_array($query))
{
$output .= "<tr><td>".$row['0']."</td><td>".$row['1']."</td><td>".$row['2']."</td><td>".$row['3']."</td><td>".$row['4']."</td></tr>";
}
$output .="</table>";
$navbits = array();
$navbits[$parent] = 'Test Table';
$templater = vB_Template::create('custom_file');
$navbar = render_navbar_template(construct_navbits($navbits) );
$templater->register_page_templates();
$templater->register('navbar', $navbar);
$templater->register('out', $output);
print_output($templater->render());
?>
custom_file template
$stylevar[htmldoctype]
<html dir="$stylevar[textdirection]" lang="$stylevar[languagecode]">
<head>
<title>$vboptions[bbtitle]</title>
$headinclude
</head>
<body>
$header
$navbar
$out
$footer
</body>
</html>
I've created a template within my style so that it keeps the same look at feel of or forum. The variable $out is only showing the <th> before and after the while loop, but not the <tr><td> output of loop itself.
Am I missing something here?
custom_file.php
<?php
// ####################### SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);
// #################### DEFINE IMPORTANT CONSTANTS #######################
define('NO_REGISTER_GLOBALS', 1);
define('THIS_SCRIPT', 'custom_file'); // change this depending on your filename
define('CSRF_PROTECTION', true);
// ################### PRE-CACHE TEMPLATES AND DATA ######################
// get special phrase groups
$phrasegroups = array();
// get special data templates from the datastore
$specialtemplates = array();
// pre-cache templates used by all actions
$globaltemplates = array(
'custom_file',
);
// pre-cache templates used by specific actions
$actiontemplates = array();
// ######################### REQUIRE BACK-END ############################
require_once('./global.php');
if (empty($vbulletin->userinfo['userid']))
{
print_no_permission();
}
$output = "<table><th>1</th><th>2</th><th>3</th><th>4</th>";
$query = "SELECT * FROM test_table ORDER BY Date DESC";
while($row = $db->fetch_array($query))
{
$output .= "<tr><td>".$row['0']."</td><td>".$row['1']."</td><td>".$row['2']."</td><td>".$row['3']."</td><td>".$row['4']."</td></tr>";
}
$output .="</table>";
$navbits = array();
$navbits[$parent] = 'Test Table';
$templater = vB_Template::create('custom_file');
$navbar = render_navbar_template(construct_navbits($navbits) );
$templater->register_page_templates();
$templater->register('navbar', $navbar);
$templater->register('out', $output);
print_output($templater->render());
?>
custom_file template
$stylevar[htmldoctype]
<html dir="$stylevar[textdirection]" lang="$stylevar[languagecode]">
<head>
<title>$vboptions[bbtitle]</title>
$headinclude
</head>
<body>
$header
$navbar
$out
$footer
</body>
</html>