Log in

View Full Version : Coordinating a PHP script with a template


Doc203
08-28-2004, 05:51 PM
What I am trying to do is run a query and produce the results in a table. With Xenon's help I have gotten my php script to return the proper results when it is called so now I just need to make it happen within a forum page.

I made a basic template with header, navbar, footer etc and I have the php scipt call that template, but the only way I can seem to get my query results to display is above the header. I am assuming that I need to have the query run before the template is called, and that maybe I need to make another template that stores the query results in a table and then call that template within the basic template.

<?php

// ####################### SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);

// #################### DEFINE IMPORTANT CONSTANTS #######################
define('NO_REGISTER_GLOBALS', 1);
define('THIS_SCRIPT', 'test'); // change this depending on your filename

// ################### 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(
'TEST',
);

// pre-cache templates used by specific actions
$actiontemplates = array(

);

// ######################### REQUIRE BACK-END ############################
require_once('./global.php');

// ################################################## #####################
// ######################## START MAIN SCRIPT ############################
// ################################################## #####################

$navbits = array();
$navbits[$parent] = 'Test Page';

$navbits = construct_navbits($navbits);
$start_date = "2004-07-01 00:00:00";
$end_date = "2004-07-31 00:00:00";


$stmt = "SELECT COUNT(post.postid) AS count, user.username
FROM post
LEFT JOIN user ON (user.userid = post.userid)
AND (UNIX_TIMESTAMP('$start_date')) <= post.dateline
AND post.dateline <= (UNIX_TIMESTAMP('$end_date'))
GROUP BY user.userid ORDER BY count DESC, username";
echo "<table border=1 cellspacing=0>";
$result = mysql_query($stmt) or die (mysql_error()."<br />Couldn't execute query: $stmt");
while($row = mysql_fetch_row($result))


{
echo "<tr>";
for($i = 0; $i < mysql_num_fields($result); $i++)
{
echo "<td>" . $row[$i] . "</td>";
}

echo "</tr>";
}

echo "</table>";


eval('$navbar = "' . fetch_template('navbar') . '";');
eval('print_output("' . fetch_template('TEST') . '");');
$start_date = "2004-07-01 00:00:00";
$end_date = "2004-07-31 00:00:00";


$stmt = "SELECT COUNT(post.postid) AS count, user.username
FROM post
LEFT JOIN user ON (user.userid = post.userid)
AND (UNIX_TIMESTAMP('$start_date')) <= post.dateline
AND post.dateline <= (UNIX_TIMESTAMP('$end_date'))
GROUP BY user.userid ORDER BY count DESC, username";
echo "<table border=1 cellspacing=0>";
$result = mysql_query($stmt) or die (mysql_error()."<br />Couldn't execute query: $stmt");
while($row = mysql_fetch_row($result))


{
echo "<tr>";
for($i = 0; $i < mysql_num_fields($result); $i++)
{
echo "<td>" . $row[$i] . "</td>";
}

echo "</tr>";
}

echo "</table>";


?>

<?php

// ####################### SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);

// #################### DEFINE IMPORTANT CONSTANTS #######################
define('NO_REGISTER_GLOBALS', 1);
define('THIS_SCRIPT', 'test'); // change this depending on your filename

// ################### 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(
'TEST',
);

// pre-cache templates used by specific actions
$actiontemplates = array(

);

// ######################### REQUIRE BACK-END ############################
require_once('./global.php');

// ################################################## #####################
// ######################## START MAIN SCRIPT ############################
// ################################################## #####################

$navbits = array();
$navbits[$parent] = 'Test Page';

$navbits = construct_navbits($navbits);
$start_date = "2004-07-01 00:00:00";
$end_date = "2004-07-31 00:00:00";


$stmt = "SELECT COUNT(post.postid) AS count, user.username
FROM post
LEFT JOIN user ON (user.userid = post.userid)
AND (UNIX_TIMESTAMP('$start_date')) <= post.dateline
AND post.dateline <= (UNIX_TIMESTAMP('$end_date'))
GROUP BY user.userid ORDER BY count DESC, username";
echo "<table border=1 cellspacing=0>";
$result = mysql_query($stmt) or die (mysql_error()."<br />Couldn't execute query: $stmt");
while($row = mysql_fetch_row($result))


{
echo "<tr>";
for($i = 0; $i < mysql_num_fields($result); $i++)
{
echo "<td>" . $row[$i] . "</td>";
}

echo "</tr>";
}

echo "</table>";


eval('$navbar = "' . fetch_template('navbar') . '";');
eval('print_output("' . fetch_template('TEST') . '");');


?>

Any help is once again appreciated!