// ==================================================================
// Author: Justin Vincent (justin@visunet.ie)
// Web: http://www.justinvincent.com
// Name: ezSQL
// Desc: Class to make it very easy to deal with mySQL database connections.
// ==================================================================
// User Settings -- CHANGE HERE
/* moved to config.inc.php
define("EZSQL_DB_USER", _DB_HOST); // <-- mysql db user
define("EZSQL_DB_PASSWORD", _DB_USER); // <-- mysql db password
define("EZSQL_DB_NAME", _DB_PASS); // <-- mysql db pname
define("EZSQL_DB_HOST", _DB_NAME); // <-- mysql server host
*/
// ==================================================================
// ezSQL Constants
define("EZSQL_VERSION","1.01");
define("OBJECT","OBJECT",true);
define("ARRAY_A","ARRAY_A",true);
define("ARRAY_N","ARRAY_N",true);
// ==================================================================
// The Main Class
class db {
// ==================================================================
// DB Constructor - connects to the server and selects a database
function db($dbuser, $dbpassword, $dbname, $dbhost)
{
$this->dbh = @mysql_connect($dbhost,$dbuser,$dbpassword);
if ( ! $this->dbh )
{
$this->print_error("
Error establishing a database connection!
Are you sure you have the correct user/password?
Are you sure that you have typed the correct hostname?
Are you sure that the database server is running?
");
}
$this->select($dbname);
}
// ==================================================================
// Select a DB (if another one needs to be selected)
function select($db)
{
if ( !@mysql_select_db($db,$this->dbh))
{
$this->print_error("Error selecting database $db!
Are you sure it exists?
Are you sure there is a valid database connection?
");
}
}
// ==================================================================
// Print SQL/DB error.
function print_error($str = "")
{
if ( !$str ) $str = mysql_error();
// If there is an error then take note of it
print "
";
}
// ==================================================================
// Basic Query - see docs for more detail
function query($query, $output = OBJECT)
{
// Log how the function was called
$this->func_call = "\$db->query(\"$query\", $output)";
// Kill this
$this->last_result = null;
$this->col_info = null;
// Keep track of the last query for debug..
$this->last_query = $query;
// Perform the query via std mysql_query function..
$this->result = mysql_query($query,$this->dbh);
if ( mysql_error() )
{
// If there is an error then take note of it..
$this->print_error();
}
else
{
// In other words if this was a select statement..
if ( $this->result )
{
// =======================================================
// Take note of column info
$i=0;
while ($i < @mysql_num_fields($this->result))
{
$this->col_info[$i] = @mysql_fetch_field($this->result);
$i++;
}
// =======================================================
// Store Query Results
$i=0;
while ( $row = @mysql_fetch_object($this->result) )
{
// Store relults as an objects within main array
$this->last_result[$i] = $row;
$i++;
}
@mysql_free_result($this->result);
// If there were results then return true for $db->query
if ( $i )
{
return true;
}
else
{
return false;
}
}
}
}
// ==================================================================
// Get one variable from the DB - see docs for more detail
function get_var($query=null,$x=0,$y=0)
{
// Log how the function was called
$this->func_call = "\$db->get_var(\"$query\",$x,$y)";
// If there is a query then perform it if not then use cached results..
if ( $query )
{
$this->query($query);
}
// Extract var out of cached results based x,y vals
if ( $this->last_result[$y] )
{
$values = array_values(get_object_vars($this->last_result[$y]));
}
// If there is a value return it else return null
return $values[$x]?$values[$x]:null;
}
// ==================================================================
// Get one row from the DB - see docs for more detail
function get_row($query=null,$y=0,$output=OBJECT)
{
// Log how the function was called
$this->func_call = "\$db->get_row(\"$query\",$y,$output)";
// If there is a query then perform it if not then use cached results..
if ( $query )
{
$this->query($query);
}
// If the output is an object then return object using the row offset..
if ( $output == OBJECT )
{
return $this->last_result[$y]?$this->last_result[$y]:null;
}
// If the output is an associative array then return row as such..
elseif ( $output == ARRAY_A )
{
return $this->last_result[$y]?get_object_vars($this->last_result[$y]):null;
}
// If the output is an numerical array then return row as such..
elseif ( $output == ARRAY_N )
{
return $this->last_result[$y]?array_values(get_object_vars($this->last_result[$y])):null;
}
// If invalid output type was specified..
else
{
$this->print_error(" \$db->get_row(string query,int offset,output type) -- Output type must be one of: OBJECT, ARRAY_A, ARRAY_N ");
}
}
// ==================================================================
// Function to get 1 column from the cached result set based in X index
// se docs for usage and info
function get_col($query=null,$x=0)
{
// If there is a query then perform it if not then use cached results..
if ( $query )
{
$this->query($query);
}
// Extract the column values
for ( $i=0; $i < count($this->last_result); $i++ )
{
$new_array[$i] = $this->get_var(null,$x,$i);
}
return $new_array;
}
// ==================================================================
// Return the the query as a result set - see docs for more details
function get_results($query=null, $output = OBJECT)
{
// Log how the function was called
$this->func_call = "\$db->get_results(\"$query\", $output)";
// If there is a query then perform it if not then use cached results..
if ( $query )
{
$this->query($query);
}
// Send back array of objects. Each row is an object
if ( $output == OBJECT )
{
return $this->last_result;
}
elseif ( $output == ARRAY_A || $output == ARRAY_N )
{
if ( $this->last_result )
{
$i=0;
foreach( $this->last_result as $row )
{
$new_array[$i] = get_object_vars($row);
if ( $output == ARRAY_N )
{
$new_array[$i] = array_values($new_array[$i]);
}
$i++;
}
return $new_array;
}
else
{
return null;
}
}
}
// ==================================================================
// Function to get column meta data info pertaining to the last query
// see docs for more info and usage
function get_col_info($info_type="name",$col_offset=-1)
{
if ( $this->col_info )
{
if ( $col_offset == -1 )
{
$i=0;
foreach($this->col_info as $col )
{
$new_array[$i] = $col->{$info_type};
$i++;
}
return $new_array;
}
else
{
return $this->col_info[$col_offset]->{$info_type};
}
}
}
// ==================================================================
// Dumps the contents of any input variable to screen in a nicely
// formatted and easy to understand way - any type: Object, Var or Array
function vardump($mixed)
{
echo "
";
echo "\n";
$this->vardump_called = true;
}
// Alias for the above function
function dumpvars($mixed)
{
$this->vardump($mixed);
}
// ==================================================================
// Displays the last query string that was sent to the database & a
// table listing results (if there were any).
// (abstracted into a seperate file to save server overhead).
function debug()
{
echo "
";
// Only show ezSQL credits once..
if ( ! $this->debug_called )
{
echo "ezSQL (v".EZSQL_VERSION.") Debug..
Welkom op de website van geregistreerde SiVAS-therapeuten. Met uw registratie bent u als SiVAS-therapeut op postcode te vinden voor uw (potentiële) patiënten. Achter de login vindt u tevens informatie speciaal voor artsen en therapeuten die de opleiding SiVAS-Polsdiagnostiek, SiVAS-Auriculo, SiVAS-Acupunctuur en/of SiVAS-Fysio hebben gevolgd. De website is up-to-date: de meest recente inzichten op het gebied van het VAS worden verwerkt in overzichten en protocollen. Ook zullen casusbesprekingen een terugkerend onderdeel van de website zijn. U bent SiVAS-therapeut maar nog niet geregistreerd op de website? Reden genoeg om direct het aanvraagformulier in te vullen!
De voordelen van registratie op een rij:
U bent makkelijk te vinden door patiënten
Laatste inzichten binnen het SiVAS altijd bij de hand
Specifieke informatie over diagnostische hulpmiddelen
Download van diverse compendia
Heeft u nog geen inloggevens?
U kunt u hier aanmelden. Als geregistreerde gebruiker heeft u toegang tot alle informatie op deze website.
Bent u uw wachtwoord vergeten? Klik dan hier.
Actueel
SiVAS-opleidingen vernieuwd!
Naar aanleiding van nieuwe inzichten opgedaan bij het laatste symposium van de GLEM (Groupe Lyonnais d'Etudes Médicales) zijn per cursusjaar 2009-2010 veranderingen doorgevoerd in onze SiVAS-agenda.