Login   Register  
PHP Classes
elePHPant
Icontem

File: index.php

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Benny Zaminga  >  pDB  >  index.php  >  Download  
File: index.php
Role: Example script
Content type: text/plain
Description: HTML-Test-Interface
Class: pDB
File based database SQL engine in pure PHP
Author: By
Last change: - created a ´quick & dirty´ interface to checkout pDB
Date: 2004-05-31 18:17
Size: 3,023 bytes
 

Contents

Class file image Download
<?PHP
// This file is intended as example and for testing purposes of pDB_SQL_PARSER

// load parser-class
require_once( 'pDB_SQL_PARSER.php');
require_once( 
'pDB_TABLE_OBJ.php');
require_once( 
'pDB_CORE.php');


// read queries from 'common_queries.txt'
$queries     file'common_queries.txt'false);
array_push$queries'');
$num_queries count$queries);
// trim linebreak from each query
for ( $q=0$q<$num_queries$q++){
    
$queries[$q] = trim$queries[$q]);
}


// show HTML-interface
if ( $_REQUEST['exec']) $CHECKED "CHECKED";
else 
$CHECKED "";
$query_sel   "<form action='' method=POST>";
$query_sel  .= "<input type=checkbox name=exec value=1 $CHECKED>Execute code&nbsp;&nbsp;<br>";
// custom SQL-query (entry made by user)
$query_sel  .= "SQL-query:<br>";
$query_sel  .= "<textarea name=sqlAB cols=120 rows=2>";
$query_sel  .= @$_REQUEST['sqlAB'];
$query_sel  .= "</textarea><br>";
// premade queries
$query_sel  .= "Select query to test:<br>";
$query_sel  .= "<select name=QID>";
for ( 
$i=0$i<$num_queries$i++){
    
$selected   "";
    if ( @
$_REQUEST['QID'] == $i$selected "SELECTED";
    
$query_sel  .= "\t<option value='$i$selected>$queries[$i];</option>";
}
$query_sel  .= "</select>";
$query_sel  .= "<input type=submit value=Go><br>";
$query_sel  .= "</form>";


// parse sqlAB entered by user (if given) or execute
// query specified by QID when sqlAB is empty
$parser     = new pDB_SQL_PARSER;
if ( 
strlen( @$_REQUEST['sqlAB']) > 0){
    
$sqlAB  $_REQUEST['sqlAB'];
    
$code   $parser->parse$sqlAB);
}elseif ( isset( 
$_REQUEST['QID'])){
    
$sqlAB  $queries[$_REQUEST['QID']] . ';';
    
$code   $parser->parse$sqlAB);
}


// show interface
echo "<h1>pDB_SQL_PARSER quick-test</h1>";
echo 
$query_sel;
echo 
"<p>";
echo 
"Statements:<br>";
echo 
"<textarea cols=120 rows=3>";
if ( 
$parserprint_r$parser->STATEMENTS);
echo 
"</textarea>";
echo 
"</p>\n";
echo 
"<p>";
echo 
"Statements (tokenized):<br>";
echo 
"<textarea cols=120 rows=5>";
if ( 
$parserprint_r$parser->TOKENS);
echo 
"</textarea>";
echo 
"</p>\n";


// generated code
echo "Generated code:<br>";
if ( 
$parser){
    
$code $parser->OUT;
    echo 
"<textarea cols=120 rows=3>";
    echo 
$code;
    echo 
"</textarea><br>";
}

// execute code
if ( @$_REQUEST['exec']){
    
$PDB = new pDB_CORE();
    
$PDB->pDB_init'pDB.conf.php');
    
$PDB->pDB_login'root''pDB');
    
$res $PDB->pDB_exec$code);
    if ( 
$res) {
        
ob_start();
        echo 
"<p>";
        echo 
'<b>Result:</b><br>';
        echo 
"<textarea cols=120 rows=5>";
        
print_r$res);
        echo 
"</textarea>";
        echo 
"</p>\n";
        
$out ob_get_contents();
        
#echo $out;
    
}
}

// debug
echo "<p>Debug:<br>";
echo 
"<textarea cols=120 rows=5>";
if ( 
$parser){
    while( 
$error $parser->err_get()){
        echo 
$error;
    }
}
if ( 
$PDB){
    while( 
$error $PDB->_get_message()){
        echo 
$error;
    }
}
echo 
"</textarea>";
echo 
"</p>";
echo 
"<div align=right><small>pDB_SQL_PARSER_VERSION: " PDB_SQL_PARSER_VERSION "</small></div>";
echo 
"<div align=right><small>pDB_CORE_VERSION: " PDB_CORE_VER "</small></div>";
?>