| 
<?php/*
 * test_database_table.php
 *
 * @(#) $Header: /home/mlemos/cvsroot/PHPlibrary/test_database_table.php,v 1.4 2008/06/08 22:32:03 mlemos Exp $
 *
 */
 
 ?><html>
 <head>
 <title>Test for Manuel Lemos' database table class</title>
 </head>
 <body>
 <h1><center>Test for Manuel Lemos' PHP database table class</center></h1>
 <hr />
 <?php
 
 /*
 * Include Metabase package code.
 */
 require("metabase/metabase_database.php");
 require("metabase/metabase_interface.php");
 
 /*
 * Include table and database table class code.
 */
 require("tableclass.php");
 require("databasetableclass.php");
 
 /*
 * Define a subclass of the database table class to customise any output aspects.
 */
 class my_database_table_class extends database_table_class
 {
 };
 
 /*
 * Create a database table object.
 */
 $database_table=new my_database_table_class;
 
 /*
 * Setup database connection environment.
 */
 
 require("database_setup.php");
 
 if(!strcmp($error=MetabaseSetupDatabase($database_arguments, $database_table->database),""))
 {
 
 MetabaseSetDatabase($database_table->database,"currencies");
 
 /*
 * Define table columns layout.
 */
 
 $database_table->columns=array(
 array(
 "title"=>"ID",
 "columnname"=>"id",
 "type"=>"INTEGER"
 ),
 array(
 "title"=>"Symbol",
 "columnname"=>"currency",
 "type"=>"TEXT"
 ),
 array(
 "title"=>"World zone",
 "columnname"=>"zone",
 "type"=>"TEXT"
 ),
 array(
 "title"=>"Name",
 "columnname"=>"name",
 "type"=>"TEXT"
 ),
 array(
 "title"=>"Current value",
 "columnname"=>"current_value",
 "type"=>"DECIMAL"
 )
 );
 
 /*
 * Define table output parameters
 */
 
 $database_table->page=0;
 $database_table->rowsperpage=5;
 $database_table->border=0;
 $database_table->headersrowbackgroundcolor="#CCCCCC";
 $database_table->oddrowsbackgroundcolor="#EEEE00";
 $database_table->evenrowsbackgroundcolor="#CCCC00";
 $database_table->highlightrowcolor="#00CCCC";
 $database_table->listpages=3;
 $database_table->firstprefix="<< First";
 $database_table->previousprefix="< Previous";
 $database_table->nextsuffix="Next >";
 $database_table->lastsuffix="Last >>";
 $database_table->rangeinfirstlast=0;
 $database_table->rangeinpreviousnext=0;
 
 /*
 * Adjust table display parameters according to CGI option values
 */
 if(IsSet($_REQUEST['page'])
 && !strcmp($_REQUEST['page'],strval(intval($_REQUEST['page'])))
 && intval($_REQUEST['page'])>=0)
 $database_table->page=intval($_REQUEST['page']);
 if(IsSet($_REQUEST['rowsperpage'])
 && !strcmp($_REQUEST['rowsperpage'],strval(intval($_REQUEST['rowsperpage'])))
 && intval($_REQUEST['rowsperpage'])>=0
 && intval($_REQUEST['rowsperpage'])<=100)
 $database_table->rowsperpage=intval($_REQUEST['rowsperpage']);
 $database_table->pagelinkvalues=array(
 "rowsperpage"=>$database_table->rowsperpage
 );
 
 /*
 * Output the database query result table.
 */
 if(strcmp($output=$database_table->outputquery("SELECT * FROM currencies","SELECT COUNT(*) FROM currencies"),""))
 echo $output;
 else
 $error=$database_table->error;
 
 
 /*
 * Output the database query result table using prepared query statements.
 *
 *    if(($select_statement=MetabasePrepareQuery($database_table->database,"SELECT * FROM currencies")))
 *    {
 *        if(($count_statement=MetabasePrepareQuery($database_table->database,"SELECT COUNT(*) FROM currencies")))
 *        {
 *
 *            // query arguments should be set here.
 *
 *            if(strcmp($output=$database_table->outputpreparedquery($select_statement,$count_statement),""))
 *                echo $output;
 *            else
 *                $error=$database_table->error;
 *            MetabaseFreePreparedQuery($database_table->database,$count_statement);
 *        }
 *        else
 *            $error=MetabaseError($database_table->database);
 *        MetabaseFreePreparedQuery($database_table->database,$select_statement);
 *    }
 *    else
 *        $error=MetabaseError($database_table->database);
 */
 
 }
 
 /*
 * Output error message in case something failed.
 */
 if(strcmp($error,""))
 echo "<h2><center>Database error: $error.</center></h2>\n";
 ?>
 <hr />
 </body>
 </html>
 |