| 
<?php
/* Version 1
 * Please leave this comment in at the top of the script if you use this script
 * in it's entirety. That is my only request. Other then that have fun.
 *
 * Bobo's Simple SQL Builder Class
 * http://www.phpclasses.org/package/7306-PHP-Simple-SQL-Query-Building-Class.html
 *
 *
 * also check out my db access class (Bobo DB) for easy database access in PHP:
 * http://www.phpclasses.org/package/5283-PHP-Simple-MySQL-database-access-wrapper.html
 *
 * I created this class to simplify queries to and from the database. Instead of a whole bunch of
 * redundant lines of code this makes your code cleaner and easier to understand.
 *
 *
 * also check out my websites:
 * http://insidefame.com
 * http://wellerit.com
 *
 * Also if you're looking for help from me directly you can usually find me
 * slumming it on #phphelp on the undernet irc network.
 *
 *
 */
 
 
 class sql_builder
 {
 var $update;
 var $insert;
 var $delete;
 var $select;
 
 function sql_builder()
 {
 $this->update = new sql_update();
 $this->insert = new sql_insert();
 $this->delete = new sql_delete();
 $this->select = new sql_select();
 }
 }
 
 class sql_update
 {
 var $table;
 var $sets;
 var $s;
 
 function sql_update()
 {
 }
 
 function reset()
 {
 $this->sets = '';
 $this->s = '';
 $this->table = '';
 }
 
 function table($tablename)
 {
 $this->reset();
 $this->table = $tablename;
 $this->s[0] = "UPDATE $tablename SET ";
 }
 
 function set($key, $value)
 {
 $this->sets[$key] = $value;
 
 // update sql //
 $count = 0;
 $this->s[1] = '';
 
 $num_sets = count($this->sets);
 
 foreach($this->sets as $key => $value)
 {
 $this->s[1] .= $key."=".$value;
 
 if($count < $num_sets - 1)
 $this->s[1] .= ', ';
 else
 $this->s[1] .= ' ';
 $count++;
 }
 }
 
 function where($str)
 {
 if(empty($str)) return false;
 
 $this->s[2] = "WHERE ".$str." ";
 }
 
 function limit($val)
 {
 if(empty($val))    return false;
 
 $this->s[3] = " LIMIT ".$val." \r\n";
 }
 
 function sql()
 {
 $sql = '';
 
 foreach($this->s as $str)
 $sql .= $str;
 
 return $sql;
 }
 }
 
 class sql_insert
 {
 var $table;
 var $sets;
 var $s;
 
 function sql_insert()
 {
 }
 
 function reset()
 {
 $this->sets = '';
 $this->s = '';
 $this->table = '';
 }
 
 function table($tablename)
 {
 $this->reset();
 $this->table = $tablename;
 $this->s[0] = "INSERT INTO $tablename SET ";
 }
 
 function set($key, $value)
 {
 $this->sets[$key] = $value;
 
 // update sql //
 $count = 0;
 $this->s[1] = '';
 
 $num_sets = count($this->sets);
 
 foreach($this->sets as $key => $value)
 {
 $this->s[1] .= $key."=".$value;
 
 if($count < $num_sets - 1)
 $this->s[1] .= ', ';
 else
 $this->s[1] .= ' ';
 $count++;
 }
 }
 
 function sql()
 {
 $sql = '';
 
 foreach($this->s as $str)
 $sql .= $str;
 
 return $sql;
 }
 }
 
 class sql_delete
 {
 var $table;
 var $s;
 
 function sql_delete()
 {
 }
 
 function reset()
 {
 $this->sets = '';
 $this->s = '';
 $this->table = '';
 }
 
 function table($tablename)
 {
 $this->reset();
 $this->table = $tablename;
 $this->s[0] = "DELETE FROM $tablename ";
 }
 
 function where($str)
 {
 if(empty($str)) return false;
 
 $this->s[2] = "WHERE ".$str." ";
 }
 
 
 function sql()
 {
 $sql = '';
 
 foreach($this->s as $str)
 $sql .= $str;
 
 return $sql;
 }
 }
 
 class sql_select
 {
 var $table;
 var $s;
 
 function sql_select()
 {
 }
 
 function reset()
 {
 $this->sets = '';
 $this->s = '';
 $this->table = '';
 }
 
 function table($tablename)
 {
 $this->reset();
 
 $this->table = $tablename;
 $this->s[0] = "SELECT ";
 $this->s[1] = "*";
 $this->s[2] = " FROM $tablename ";
 }
 
 function cols($str)
 {
 if(empty($str))
 $this->s[1] = "*";
 else
 $this->s[1] = $str;
 }
 
 function where($str)
 {
 if(empty($str)) return false;
 
 $this->s[4] = " WHERE ".$str." ";
 }
 
 function limit($val)
 {
 if(empty($val))    return false;
 
 $this->s[5] = " LIMIT ".$val." \r\n";
 }
 
 function sql()
 {
 $sql = '';
 
 foreach($this->s as $str)
 $sql .= $str;
 
 return $sql;
 }
 }
 
 
 // $s = new sql_builder();
 ?>
 |