Revision: 17036
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at August 21, 2009 07:08 by jonniespratley
Initial Code
<?php
class MySQLHelpService
{
private $mysqli;
public function __construct( $host, $username, $password )
{
//temporary for the bs warning signs on live
// Report simple running errors
error_reporting ( E_ERROR | E_USER_ERROR | E_PARSE );
$this->mysqli = new mysqli ( $host, $username, $password );
/* check connection */
if ( mysqli_connect_errno () )
{
trigger_error ( 'Database connection failure: Username/Password was incorrect.', E_USER_ERROR );
exit ();
}
else
{
return $this->mysqli;
}
}
public function getHelpTree()
{
$helpTree [] = array (
'label' => 'MySQL Help', 'children' => $this->_getAllHelp ()
);
return json_encode ( $helpTree );
}
public function _getAllHelp()
{
$sql = "SELECT
help_category.name as category,
help_topic.name as label,
help_topic.description as description,
help_topic.example as example
FROM mysql.help_relation
INNER JOIN mysql.help_topic
ON help_relation.help_topic_id = help_topic.help_topic_id
INNER JOIN mysql.help_category
ON help_category.help_category_id = help_topic.help_category_id
ORDER BY category ASC";
return $this->_queryToARRAY ( $sql );
}
public function _getDataDefinition()
{
$sql = "SELECT
help_keyword.name as keyword,
help_category.name as category,
help_topic.name as topic,
help_topic.description as description,
help_topic.example as example
FROM mysql.help_relation
INNER JOIN mysql.help_keyword
ON help_relation.help_keyword_id = help_keyword.help_keyword_id
INNER JOIN mysql.help_topic
ON help_relation.help_topic_id = help_topic.help_topic_id
INNER JOIN mysql.help_category
ON help_category.help_category_id = help_topic.help_category_id
WHERE help_category.name = 'Data Definition'
ORDER BY topic ASC";
return $this->_queryToArray ( $sql );
}
public function _getDataManipulation()
{
$sql = "SELECT
help_keyword.name as keyword,
help_category.name as category,
help_topic.name as topic,
help_topic.description as description,
help_topic.example as example
FROM mysql.help_relation
INNER JOIN mysql.help_keyword
ON help_relation.help_keyword_id = help_keyword.help_keyword_id
INNER JOIN mysql.help_topic
ON help_relation.help_topic_id = help_topic.help_topic_id
INNER JOIN mysql.help_category
ON help_category.help_category_id = help_topic.help_category_id
WHERE help_category.name = 'Data Manipulation'
ORDER BY topic ASC";
return $this->_queryToArray ( $sql );
}
public function _getTableMaintenance()
{
$sql = "SELECT help_keyword.name, help_category.name, help_topic.name, help_topic.description, help_topic.example
FROM mysql.help_relation
INNER JOIN mysql.help_keyword
ON help_relation.help_keyword_id = help_keyword.help_keyword_id
INNER JOIN mysql.help_topic
ON help_relation.help_topic_id = help_topic.help_topic_id
INNER JOIN mysql.help_category
ON help_category.help_category_id = help_topic.help_category_id
WHERE help_category.name = 'Table Maintenance'";
return $this->_queryToArray ( $sql );
}
public function _getStoredRoutines()
{
$sql = "";
return $this->_queryToArray ( $sql );
}
public function _getAdministration()
{
$sql = "SELECT
help_keyword.name as keyword,
help_category.name as category,
help_topic.name as topic,
help_topic.description as description,
help_topic.example as example
FROM mysql.help_relation
INNER JOIN mysql.help_keyword
ON help_relation.help_keyword_id = help_keyword.help_keyword_id
INNER JOIN mysql.help_topic
ON help_relation.help_topic_id = help_topic.help_topic_id
INNER JOIN mysql.help_category
ON help_category.help_category_id = help_topic.help_category_id
WHERE help_category.name = 'Administration'
ORDER BY topic ASC";
return $this->_queryToArray ( $sql );
}
public function _getDataTypes()
{
$sql = "SELECT
help_keyword.name as keyword,
help_category.name as category,
help_topic.name as topic,
help_topic.description as description,
help_topic.example as example
FROM mysql.help_relation
INNER JOIN mysql.help_keyword
ON help_relation.help_keyword_id = help_keyword.help_keyword_id
INNER JOIN mysql.help_topic
ON help_relation.help_topic_id = help_topic.help_topic_id
INNER JOIN mysql.help_category
ON help_category.help_category_id = help_topic.help_category_id
WHERE help_category.name = 'Data Types'
ORDER BY topic ASC";
return $this->_queryToArray ( $sql );
}
public function _getAccountManagement()
{
$sql = "SELECT
help_keyword.name as keyword,
help_category.name as category,
help_topic.name as topic,
help_topic.description as description,
help_topic.example as example
FROM mysql.help_relation
INNER JOIN mysql.help_keyword
ON help_relation.help_keyword_id = help_keyword.help_keyword_id
INNER JOIN mysql.help_topic
ON help_relation.help_topic_id = help_topic.help_topic_id
INNER JOIN mysql.help_category
ON help_category.help_category_id = help_topic.help_category_id
WHERE help_category.name = 'Account Management'
ORDER BY topic ASC";
return $this->_queryToArray ( $sql );
}
public function _getStringFunctions()
{
$sql = "SELECT
help_keyword.name as keyword,
help_category.name as category,
help_topic.name as topic,
help_topic.description as description,
help_topic.example as example
FROM mysql.help_relation
INNER JOIN mysql.help_keyword
ON help_relation.help_keyword_id = help_keyword.help_keyword_id
INNER JOIN mysql.help_topic
ON help_relation.help_topic_id = help_topic.help_topic_id
INNER JOIN mysql.help_category
ON help_category.help_category_id = help_topic.help_category_id
WHERE help_category.name = 'String Functions'
ORDER BY topic ASC";
return $this->_queryToArray ( $sql );
}
public function _getControlFlow()
{
$sql = " SELECT help_keyword.name, help_category.name, help_topic.name, help_topic.description, help_topic.example
FROM mysql.help_relation
INNER JOIN mysql.help_keyword
ON help_relation.help_keyword_id = help_keyword.help_keyword_id
INNER JOIN mysql.help_topic
ON help_relation.help_topic_id = help_topic.help_topic_id
INNER JOIN mysql.help_category
ON help_category.help_category_id = help_topic.help_category_id
WHERE help_category.name = 'Control flow functions'";
return $this->_queryToArray ( $sql );
}
public function _gettTransactions()
{
$sql = "SELECT help_keyword.name, help_category.name, help_topic.name, help_topic.description, help_topic.example
FROM mysql.help_relation
INNER JOIN mysql.help_keyword
ON help_relation.help_keyword_id = help_keyword.help_keyword_id
INNER JOIN mysql.help_topic
ON help_relation.help_topic_id = help_topic.help_topic_id
INNER JOIN mysql.help_category
ON help_category.help_category_id = help_topic.help_category_id
WHERE help_category.name = 'Transactions'";
return $this->_queryToArray ( $sql );
}
public function _getFunctions()
{
$sql = "SELECT help_keyword.name, help_category.name, help_topic.name, help_topic.description, help_topic.example
FROM mysql.help_relation
INNER JOIN mysql.help_keyword
ON help_relation.help_keyword_id = help_keyword.help_keyword_id
INNER JOIN mysql.help_topic
ON help_relation.help_topic_id = help_topic.help_topic_id
INNER JOIN mysql.help_category
ON help_category.help_category_id = help_topic.help_category_id
WHERE help_category.name = 'Functions'";
return $this->_queryToArray ( $sql );
}
public function _getWKT()
{
$sql = "SELECT help_keyword.name, help_category.name, help_topic.name, help_topic.description, help_topic.example
FROM mysql.help_relation
INNER JOIN mysql.help_keyword
ON help_relation.help_keyword_id = help_keyword.help_keyword_id
INNER JOIN mysql.help_topic
ON help_relation.help_topic_id = help_topic.help_topic_id
INNER JOIN mysql.help_category
ON help_category.help_category_id = help_topic.help_category_id
WHERE help_category.name = 'WKB'";
return $this->_queryToArray ( $sql );
}
public function _getWKB()
{
$sql = "SELECT help_keyword.name, help_category.name, help_topic.name, help_topic.description, help_topic.example
FROM mysql.help_relation
INNER JOIN mysql.help_keyword
ON help_relation.help_keyword_id = help_keyword.help_keyword_id
INNER JOIN mysql.help_topic
ON help_relation.help_topic_id = help_topic.help_topic_id
INNER JOIN mysql.help_category
ON help_category.help_category_id = help_topic.help_category_id
WHERE help_category.name = 'WKB'";
return $this->_queryToArray ( $sql );
}
public function _getNumericFunctions()
{
$sql = "SELECT help_keyword.name, help_category.name, help_topic.name, help_topic.description, help_topic.example
FROM mysql.help_relation
INNER JOIN mysql.help_keyword
ON help_relation.help_keyword_id = help_keyword.help_keyword_id
INNER JOIN mysql.help_topic
ON help_relation.help_topic_id = help_topic.help_topic_id
INNER JOIN mysql.help_category
ON help_category.help_category_id = help_topic.help_category_id
WHERE help_category.name = 'Numeric Functions'";
return $this->_queryToArray ( $sql );
}
public function _getLanguageStructure()
{
$sql = "SELECT help_keyword.name, help_category.name, help_topic.name, help_topic.description, help_topic.example
FROM mysql.help_relation
INNER JOIN mysql.help_keyword
ON help_relation.help_keyword_id = help_keyword.help_keyword_id
INNER JOIN mysql.help_topic
ON help_relation.help_topic_id = help_topic.help_topic_id
INNER JOIN mysql.help_category
ON help_category.help_category_id = help_topic.help_category_id
WHERE help_category.name = 'Language Structure'";
return $this->_queryToArray ( $sql );
}
public function _getComparison()
{
$sql = "SELECT help_keyword.name, help_category.name, help_topic.name, help_topic.description, help_topic.example
FROM mysql.help_relation
INNER JOIN mysql.help_keyword
ON help_relation.help_keyword_id = help_keyword.help_keyword_id
INNER JOIN mysql.help_topic
ON help_relation.help_topic_id = help_topic.help_topic_id
INNER JOIN mysql.help_category
ON help_category.help_category_id = help_topic.help_category_id
WHERE help_category.name = 'Comparison operators'";
return $this->_queryToArray ( $sql );
}
public function _getDateTime()
{
$sql = "SELECT help_keyword.name, help_category.name, help_topic.name, help_topic.description, help_topic.example
FROM mysql.help_relation
INNER JOIN mysql.help_keyword
ON help_relation.help_keyword_id = help_keyword.help_keyword_id
INNER JOIN mysql.help_topic
ON help_relation.help_topic_id = help_topic.help_topic_id
INNER JOIN mysql.help_category
ON help_category.help_category_id = help_topic.help_category_id
WHERE help_category.name = 'Date and Time Functions'";
return $this->_queryToArray ( $sql );
}
public function _getLogicalOpperators()
{
$sql = "SELECT help_keyword.name, help_category.name, help_topic.name, help_topic.description, help_topic.example
FROM mysql.help_relation
INNER JOIN mysql.help_keyword
ON help_relation.help_keyword_id = help_keyword.help_keyword_id
INNER JOIN mysql.help_topic
ON help_relation.help_topic_id = help_topic.help_topic_id
INNER JOIN mysql.help_category
ON help_category.help_category_id = help_topic.help_category_id
WHERE help_category.name = 'Logical operators'";
return $this->_queryToArray ( $sql );
}
public function _getEncryptionFunctions()
{
$sql = "SELECT help_keyword.name, help_category.name, help_topic.name, help_topic.description, help_topic.example
FROM mysql.help_relation
INNER JOIN mysql.help_keyword
ON help_relation.help_keyword_id = help_keyword.help_keyword_id
INNER JOIN mysql.help_topic
ON help_relation.help_topic_id = help_topic.help_topic_id
INNER JOIN mysql.help_category
ON help_category.help_category_id = help_topic.help_category_id
WHERE help_category.name = 'Encryption Functions'";
return $this->_queryToArray ( $sql );
}
public function _getGeographicFeatures()
{
$sql = "SELECT help_keyword.name, help_category.name, help_topic.name, help_topic.description, help_topic.example
FROM mysql.help_relation
INNER JOIN mysql.help_keyword
ON help_relation.help_keyword_id = help_keyword.help_keyword_id
INNER JOIN mysql.help_topic
ON help_relation.help_topic_id = help_topic.help_topic_id
INNER JOIN mysql.help_category
ON help_category.help_category_id = help_topic.help_category_id
WHERE help_category.name = 'Geographic Features'";
return $this->_queryToArray ( $sql );
}
public function _getTriggers()
{
$sql - "SELECT help_keyword.name, help_category.name, help_topic.name, help_topic.description, help_topic.example
FROM mysql.help_relation
INNER JOIN mysql.help_keyword
ON help_relation.help_keyword_id = help_keyword.help_keyword_id
INNER JOIN mysql.help_topic
ON help_relation.help_topic_id = help_topic.help_topic_id
INNER JOIN mysql.help_category
ON help_category.help_category_id = help_topic.help_category_id
WHERE help_category.name = 'Triggers'";
return $this->_queryToArray ( $sql );
}
/* ********************************************************************
* ********************************************************************
*
* 8. RESULT HANDLERS
*
* ********************************************************************
* ********************************************************************/
/**
* I execute a query and return the results as json.
*
* @param [string] $sql the query to be executed
* @return [json] the result in json
*/
private function _queryToJSON( $sql )
{
$result = mysqli_query ( $this->mysqli, $sql );
while ( $row = mysqli_fetch_assoc ( $result ) )
{
$array [] = $row;
}
return json_encode ( $array );
}
/**
* I execute a query and return the result as an array.
*
* @param [string] $sql the query to be executed
* @return [array] the result array
*/
private function _queryToARRAY( $sql )
{
$query = mysqli_query ( $this->mysqli, $sql );
$array = array ();
while ( $row = mysqli_fetch_assoc ( $query ) )
{
$array [] = $row;
}
return $array;
}
}
//testing
//$help = new MySQLHelpService( 'localhost', 'root', 'fred' );
//print_r( $help->getHelpTree() );
?>
Initial URL
Initial Description
Initial Title
MySQL Help Service
Initial Tags
mysql, php
Initial Language
PHP