<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to OOPSQL</title><link>https://sourceforge.net/p/phpbaseplate/wiki/OOPSQL/</link><description>Recent changes to OOPSQL</description><atom:link href="https://sourceforge.net/p/phpbaseplate/wiki/OOPSQL/feed" rel="self"/><language>en</language><lastBuildDate>Sat, 25 Feb 2017 16:27:29 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/phpbaseplate/wiki/OOPSQL/feed" rel="self" type="application/rss+xml"/><item><title>OOPSQL modified by Stevie G</title><link>https://sourceforge.net/p/phpbaseplate/wiki/OOPSQL/</link><description>&lt;div class="markdown_content"&gt;&lt;h1 id="oopsql-mysqli-database-handler"&gt;OOPSQL (MySQLi Database Handler)&lt;/h1&gt;
&lt;p&gt;OOPSQL is automatically called by common.php when the &lt;code&gt;define("DB_ENABLE", false);&lt;/code&gt; in &lt;strong&gt;config.php&lt;/strong&gt; is set to on.&lt;/p&gt;
&lt;p&gt;ie.&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="nt"&gt;require_once&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nt"&gt;LOC_CLASSES&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="s2"&gt;"OOPSQL.class.php"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt; &lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="nt"&gt;Include&lt;/span&gt; &lt;span class="nt"&gt;OOPSQL&lt;/span&gt; &lt;span class="nt"&gt;MySQLi&lt;/span&gt; &lt;span class="nt"&gt;Database&lt;/span&gt; &lt;span class="nt"&gt;Handler&lt;/span&gt;
&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="nt"&gt;dbo&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nt"&gt;OOPSQL&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="nd"&gt;:getInstance&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt; &lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="nt"&gt;Create&lt;/span&gt; &lt;span class="nt"&gt;MySQL&lt;/span&gt; &lt;span class="nt"&gt;DB&lt;/span&gt; &lt;span class="nt"&gt;Instance&lt;/span&gt;
&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="nt"&gt;dbo-&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nt"&gt;connect&lt;/span&gt;&lt;span class="o"&gt;($&lt;/span&gt;&lt;span class="nt"&gt;cfg&lt;/span&gt;&lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;LOC&lt;/span&gt;&lt;span class="cp"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"DB_HOSTNAME"&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="nt"&gt;cfg&lt;/span&gt;&lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;LOC&lt;/span&gt;&lt;span class="cp"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"DB_USERNAME"&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="nt"&gt;cfg&lt;/span&gt;&lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;LOC&lt;/span&gt;&lt;span class="cp"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"DB_PASSWORD"&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="nt"&gt;cfg&lt;/span&gt;&lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;LOC&lt;/span&gt;&lt;span class="cp"&gt;][&lt;/span&gt;&lt;span class="s2"&gt;"DB_DATABASE"&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt; &lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="nt"&gt;Connect&lt;/span&gt; &lt;span class="nt"&gt;to&lt;/span&gt; &lt;span class="nt"&gt;DB&lt;/span&gt; &lt;span class="nt"&gt;and&lt;/span&gt; &lt;span class="nt"&gt;get&lt;/span&gt; &lt;span class="nt"&gt;Connection&lt;/span&gt; &lt;span class="nt"&gt;Object&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;Generic SQL can be called as follows:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="nt"&gt;Custom&lt;/span&gt; &lt;span class="nt"&gt;SQL&lt;/span&gt; &lt;span class="nt"&gt;Query&lt;/span&gt;
&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="nt"&gt;dbo-&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nt"&gt;doQuery&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"SELECT * FROM people ORDER BY dob DESC"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;span class="nt"&gt;while&lt;/span&gt;&lt;span class="o"&gt;($&lt;/span&gt;&lt;span class="nt"&gt;ROW&lt;/span&gt;&lt;span class="o"&gt;=$&lt;/span&gt;&lt;span class="nt"&gt;dbo-&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nt"&gt;loadObjectList&lt;/span&gt;&lt;span class="o"&gt;())&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;echo&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"Firstname: $ROW&lt;/span&gt;&lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;firstname&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt;&lt;span class="s2"&gt; &amp;lt;br/&amp;gt;&lt;/span&gt;
&lt;span class="s2"&gt;    Surname: $ROW&lt;/span&gt;&lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;surname&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt;&lt;span class="s2"&gt;&amp;lt;br/&amp;gt;&lt;/span&gt;
&lt;span class="s2"&gt;    Nickname: $ROW&lt;/span&gt;&lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;nickname&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt;&lt;span class="s2"&gt;&amp;lt;br/&amp;gt;&lt;/span&gt;
&lt;span class="s2"&gt;    Date Of Birth: $ROW&lt;/span&gt;&lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;dob&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt;&lt;span class="s2"&gt;&amp;lt;br/&amp;gt;&lt;/span&gt;
&lt;span class="s2"&gt;    Hobbies: $ROW&lt;/span&gt;&lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;hobbies&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt;&lt;span class="s2"&gt;&amp;lt;hr/&amp;gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;OOPSQL&lt;/strong&gt; (Object Oriented Programming SQL)&lt;br/&gt;
In order to objectify an SQL table in code the following must be setup beforehand:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Setup&lt;/em&gt;&lt;/strong&gt;&lt;br/&gt;
1. Create &lt;span&gt;[TABLENAME]&lt;/span&gt;.class.php in includes/classes/oopsqltables folder (Where &lt;span&gt;[TABLENAME]&lt;/span&gt; is the name of the MySQL Table)&lt;br/&gt;
2. Edit &lt;span&gt;[TABLENAME]&lt;/span&gt;.class.php (eg. people.class.php) and populate with Table Columns in this Format&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="cp"&gt;&amp;lt;?php&lt;/span&gt;
&lt;span class="c1"&gt;//People DBT Class (Database Table Class)&lt;/span&gt;
&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;people&lt;/span&gt; &lt;span class="k"&gt;extends&lt;/span&gt; &lt;span class="nx"&gt;table&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;var&lt;/span&gt; &lt;span class="nv"&gt;$id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;var&lt;/span&gt; &lt;span class="nv"&gt;$firstname&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;var&lt;/span&gt; &lt;span class="nv"&gt;$surname&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;var&lt;/span&gt; &lt;span class="nv"&gt;$nickname&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;var&lt;/span&gt; &lt;span class="nv"&gt;$dob&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;var&lt;/span&gt; &lt;span class="nv"&gt;$hobbies&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;var&lt;/span&gt; &lt;span class="nv"&gt;$table&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"people"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="cp"&gt;?&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;ol&gt;
&lt;li&gt;Instantiate Table Class: &lt;code&gt;require_once(LOC_DBTCLASSES."people.class.php");&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Usage&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Init Table Class&lt;/em&gt;&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;people&lt;/span&gt;&lt;span class="x"&gt;=new people();&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;&lt;em&gt;Load And Display Single Record By ID&lt;/em&gt;&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="nt"&gt;people-&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nt"&gt;load&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'1'&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt; &lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="nt"&gt;Load&lt;/span&gt; &lt;span class="nt"&gt;Person&lt;/span&gt; &lt;span class="nt"&gt;with&lt;/span&gt; &lt;span class="nt"&gt;id&lt;/span&gt; &lt;span class="nt"&gt;1&lt;/span&gt; &lt;span class="nt"&gt;from&lt;/span&gt; &lt;span class="nt"&gt;people&lt;/span&gt; &lt;span class="nt"&gt;table&lt;/span&gt;
&lt;span class="nt"&gt;echo&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"Firstname: $people&lt;/span&gt;&lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;firstname&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt;&lt;span class="s2"&gt; &amp;lt;br/&amp;gt;&lt;/span&gt;
&lt;span class="s2"&gt;    Surname: $peoplepeople&lt;/span&gt;&lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;surname&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt;&lt;span class="s2"&gt;&amp;lt;br/&amp;gt;&lt;/span&gt;
&lt;span class="s2"&gt;    Nickname: $people&lt;/span&gt;&lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;nickname&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt;&lt;span class="s2"&gt;&amp;lt;br/&amp;gt;&lt;/span&gt;
&lt;span class="s2"&gt;    Date Of Birth: $people&lt;/span&gt;&lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;dob&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt;&lt;span class="s2"&gt;&amp;lt;br/&amp;gt;&lt;/span&gt;
&lt;span class="s2"&gt;    Hobbies: $people&lt;/span&gt;&lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;hobbies&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;&lt;em&gt;Insert New Record&lt;/em&gt;&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;data&lt;/span&gt;&lt;span class="x"&gt;=array("firstname"=&amp;gt;"Steven","surname"=&amp;gt;"Graham","nickname"=&amp;gt;"Stevie G","dob"=&amp;gt;"1981-10-01","hobbies"=&amp;gt;"Singing,XBOX");&lt;/span&gt;
&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;people&lt;/span&gt;&lt;span class="x"&gt;-&amp;gt;bind(&lt;/span&gt;&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;data&lt;/span&gt;&lt;span class="x"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;people&lt;/span&gt;&lt;span class="x"&gt;-&amp;gt;store();&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;&lt;em&gt;Update Existing Record&lt;/em&gt;&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;people&lt;/span&gt;&lt;span class="x"&gt;-&amp;gt;load('1'); //Select User id 1 (Steven Graham)&lt;/span&gt;
&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;data&lt;/span&gt;&lt;span class="x"&gt;=array("firstname"=&amp;gt;"Steven","surname"=&amp;gt;"Graham","nickname"=&amp;gt;"Stevie G","dob"=&amp;gt;"1981-10-01","hobbies"=&amp;gt;"Singing,XBOX,Snooker");&lt;/span&gt;
&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;people&lt;/span&gt;&lt;span class="x"&gt;-&amp;gt;bind(&lt;/span&gt;&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;data&lt;/span&gt;&lt;span class="x"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;people&lt;/span&gt;&lt;span class="x"&gt;-&amp;gt;store();&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Stevie G</dc:creator><pubDate>Sat, 25 Feb 2017 16:27:29 -0000</pubDate><guid>https://sourceforge.net56be9b2e34290245bc903422d3b07727646272a4</guid></item></channel></rss>