Wednesday, January 6, 2010

php types

/*
This SQL query will create the table to store your object.

CREATE TABLE `category` (
`categoryid` int(11) NOT NULL auto_increment,
`langid` int(1) NOT NULL,
`category_name` varchar(50) NOT NULL,
`level` int(5) NOT NULL,
`path` varchar(255) NOT NULL,
`status` enum('Active','Inactive') NOT NULL,
`extra1` varchar(15) NOT NULL, PRIMARY KEY (`categoryid`));
*/

/**
* category class with integrated CRUD methods.
* @author Php Object Generator
* @version POG 2.6.3 / PHP4
* @copyright Free for personal & commercial use. (Offered under the BSD license)
* @link http://www.phpobjectgenerator.com/?language=php4&wrapper=pog&objectName=category&attributeList=array+%28%0A++0+%3D%3E+%27langid%27%2C%0A++1+%3D%3E+%27category_name%27%2C%0A++2+%3D%3E+%27level%27%2C%0A++3+%3D%3E+%27path%27%2C%0A++4+%3D%3E+%27status%27%2C%0A++5+%3D%3E+%27extra1%27%2C%0A%29&typeList=array+%28%0A++0+%3D%3E+%27int%281%29%27%2C%0A++1+%3D%3E+%27varchar%2850%29%27%2C%0A++2+%3D%3E+%27int%285%29%27%2C%0A++3+%3D%3E+%27varchar%28255%29%27%2C%0A++4+%3D%3E+%27enum%28%5C%5C%5C%27Active%5C%5C%5C%27%2C%5C%5C%5C%27Inactive%5C%5C%5C%27%29%27%2C%0A++5+%3D%3E+%27varchar%2815%29%27%2C%0A%29
*/

class category
{
var $categoryId = '';
var $category_name;
var $level;
var $path;

var $status;


var $pog_attribute_type = array(
"categoryId" => array("NUMERIC", "INT"),
"langid" => array("NUMERIC", "INT", "1"),
"category_name" => array("TEXT", "VARCHAR", "50"),
"level" => array("NUMERIC", "INT", "5"),
"path" => array("TEXT", "VARCHAR", "255"),
"status" => array("SET", "ENUM", "'Active','Inactive'"),
"extra1" => array("TEXT", "VARCHAR", "15"),
);
var $pog_query;

function category($langid='', $category_name='', $level='', $path='', $status='', $extra1='')
{
$this->langid = $langid;
$this->category_name = $category_name;
$this->level = $level;
$this->path = $path;
$this->status = $status;
$this->extra1 = $extra1;
}


/**
* Gets object from database
* @param integer $categoryId
* @return object $category
*/
function Get($categoryId)
{
$Database = new DatabaseConnection();
$this->pog_query = "select * from `category` where `categoryid`='".intval($categoryId)."' LIMIT 1";
$Database->Query($this->pog_query);
$this->categoryId = $Database->Result(0, "categoryid");
$this->langid = ($Database->Result(0, "langid"));
$this->category_name = ($Database->Result(0, "category_name"));
$this->level = ($Database->Result(0, "level"));
$this->path = ($Database->Result(0, "path"));
$this->status = $Database->Result(0, "status");
$this->extra1 = ($Database->Result(0, "extra1"));
return $this;
}


/**
* Returns a sorted array of objects that match given conditions
* @param multidimensional array {("field", "comparator", "value"), ("field", "comparator", "value"), ...}
* @param string $sortBy
* @param boolean $ascending
* @param int limit
* @return array $categoryList
*/
function GetList($fcv_array, $sortBy='', $ascending=true, $limit='')
{
$sqlLimit = ($limit != '' && $sortBy == ''?"LIMIT $limit":'');
if (sizeof($fcv_array) > 0)
{
$categoryList = Array();
$Database = new DatabaseConnection();
$this->pog_query = "select categoryid from `category` where ";
for ($i=0, $c=sizeof($fcv_array); $i<$c; $i++)
{
if (sizeof($fcv_array[$i]) == 1)
{
$this->pog_query .= " ".$fcv_array[$i][0]." ";
continue;
}
else
{
if ($i > 0 && sizeof($fcv_array[$i-1]) != 1)
{
$this->pog_query .= " AND ";
}
if (isset($this->pog_attribute_type[$fcv_array[$i][0]]) && $this->pog_attribute_type[$fcv_array[$i][0]][0] != 'NUMERIC' && $this->pog_attribute_type[$fcv_array[$i][0]][0] != 'SET')
{
$this->pog_query .= "`".strtolower($fcv_array[$i][0])."` ".$fcv_array[$i][1]." '".($fcv_array[$i][2])."'";
}
else
{
$this->pog_query .= "`".strtolower($fcv_array[$i][0])."` ".$fcv_array[$i][1]." '".$fcv_array[$i][2]."'";
}
}
}
$this->pog_query .= " order by categoryid asc $sqlLimit";
$Database->Query($this->pog_query);
$thisObjectName = get_class($this);
for ($i=0; $i < $Database->Rows(); $i++)
{
$category = new $thisObjectName();
$category->Get($Database->Result($i, "categoryid"));
$categoryList[] = $category;
}
if ($sortBy != '')
{
$f = '';
$category = new category();
if (isset($category->pog_attribute_type[$sortBy]) && ($category->pog_attribute_type[$sortBy][0] == "NUMERIC" || $category->pog_attribute_type[$sortBy][0] == "SET"))
{
$f = 'return $category1->'.$sortBy.' > $category2->'.$sortBy.';';
}
else if (isset($category->pog_attribute_type[$sortBy]))
{
$f = 'return strcmp(strtolower($category1->'.$sortBy.'), strtolower($category2->'.$sortBy.'));';
}
usort($categoryList, create_function('$category1, $category2', $f));
if (!$ascending)
{
$categoryList = array_reverse($categoryList);
}
if ($limit != '')
{
$limitParts = explode(',', $limit);
if (sizeof($limitParts) > 1)
{
return array_slice($categoryList, $limitParts[0], $limitParts[1]);
}
else
{
return array_slice($categoryList, 0, $limit);
}
}
}
return $categoryList;
}
return null;
}


/**
* Saves the object to the database
* @return integer $categoryId
*/
function Save()
{
$Database = new DatabaseConnection();
$this->pog_query = "select `categoryid` from `category` where `categoryid`='".$this->categoryId."' LIMIT 1";
$Database->Query($this->pog_query);
if ($Database->Rows() > 0)
{
$this->pog_query = "update `category` set
`langid`='".($this->langid)."',
`category_name`='".($this->category_name)."',
`level`='".($this->level)."',
`path`='".($this->path)."',
`status`='".$this->status."',
`extra1`='".($this->extra1)."' where `categoryid`='".$this->categoryId."'";
}
else
{
$this->pog_query = "insert into `category` (`langid`, `category_name`, `level`, `path`, `status`, `extra1` ) values (
'".($this->langid)."',
'".($this->category_name)."',
'".($this->level)."',
'".($this->path)."',
'".$this->status."',
'".($this->extra1)."' )";
}
$Database->InsertOrUpdate($this->pog_query);
if ($this->categoryId == "")
{
$this->categoryId = $Database->GetCurrentId();
}
return $this->categoryId;
}


/**
* Clones the object and saves it to the database
* @return integer $categoryId
*/
function SaveNew()
{
$this->categoryId = '';
return $this->Save();
}


/**
* Deletes the object from the database
* @return boolean
*/
function Delete()
{
$Database = new DatabaseConnection();
$this->pog_query = "delete from `category` where `categoryid`='".$this->categoryId."'";
return $Database->Query($this->pog_query);
}


/**
* Deletes a list of objects that match given conditions
* @param multidimensional array {("field", "comparator", "value"), ("field", "comparator", "value"), ...}
* @param bool $deep
* @return
*/
function DeleteList($fcv_array)
{
if (sizeof($fcv_array) > 0)
{
$Database = new DatabaseConnection();
$pog_query = "delete from `category` where ";
for ($i=0, $c=sizeof($fcv_array); $i<$c; $i++)
{
if (sizeof($fcv_array[$i]) == 1)
{
$pog_query .= " ".$fcv_array[$i][0]." ";
continue;
}
else
{
if ($i > 0 && sizeof($fcv_array[$i-1]) !== 1)
{
$pog_query .= " AND ";
}
if (isset($this->pog_attribute_type[$fcv_array[$i][0]]) && $this->pog_attribute_type[$fcv_array[$i][0]][0] != 'NUMERIC' && $this->pog_attribute_type[$fcv_array[$i][0]][0] != 'SET')
{
$pog_query .= "`".$fcv_array[$i][0]."` ".$fcv_array[$i][1]." '".($fcv_array[$i][2])."'";
}
else
{
$pog_query .= "`".$fcv_array[$i][0]."` ".$fcv_array[$i][1]." '".$fcv_array[$i][2]."'";
}
}
}
return $Database->Query($pog_query);
}
}
}
?>

class.database

Class DatabaseConnection
{
var $connection;
var $databaseName;
var $result;

// -------------------------------------------------------------
function DatabaseConnection()
{
$this->databaseName = $GLOBALS['configuration']['db'];
$serverName = $GLOBALS['configuration']['host'];
$databaseUser = $GLOBALS['configuration']['user'];
$databasePassword = $GLOBALS['configuration']['pass'];
$databasePort = $GLOBALS['configuration']['port'];

$this->connection = mysql_connect ('localhost', 'root', 'siddh') or die ('I cannot connect to the database. Please edit configuration.php with your database configuration.');
mysql_select_db ($this->databaseName) or die ('I cannot find the specified database "'.$this->databaseName.'". Please edit configuration.php');
}

// -------------------------------------------------------------
function Close()
{
mysql_close($this->connection);
}

// -------------------------------------------------------------
function GetConnection() {
return $this->connection;
}

// -------------------------------------------------------------
function Query($query)
{
$this->result = mysql_query($query,$this->connection);
return $this->result;
}

// -------------------------------------------------------------
function Rows()
{
if ($this->result != false)
{
return mysql_num_rows($this->result);
}
return null;
}

// -------------------------------------------------------------
function AffectedRows()
{
return mysql_affected_rows();
}

// -------------------------------------------------------------
function Result($row,$name)
{
if ($this->Rows() > 0)
{
return mysql_result($this->result, $row, $name);
}
return null;
}


// -------------------------------------------------------------
function InsertOrUpdate($query)
{
$this->result = mysql_query($query,$this->connection);
return ($this->AffectedRows() > 0);
}


function GetCurrentId()
{
return intval(mysql_insert_id($this->connection));
}
}
?>

PHP config


global $configuration;

$configuration['db'] = "ask2expert"; // database name
$configuration['host'] = "localhost"; // database host
$configuration['user'] = "admin"; // database user
$configuration['pass'] = "admin"; // database password
$configuration['port'] = '3306'; // database port

?>

PHP

require_once("../includes/configuration.php");
require_once("../includes/classes/class.database.php");
require_once("../includes/classes/class.category.php");


$objCategory = new category();

if($_POST['cmdAdd']) {
$objCategory->categoryid = '';

$objCategory->category_name = $_POST['txtfname'];
if($_POST['level'] != 0) {
$objCategory->level = 1;
}
else {
$objCategory->level = 0;
}
$objCategory->status = $_POST['radActive'];

$objCategory->Save();

$msg = "Record Added Successfully";
}

if($_POST['cmdUpdate'] == 'Update') {
$objCategory->categoryId = $_POST['catid'];

$objCategory->category_name = $_POST['txtfname'];

if($_POST['level'] != 0) {
$objCategory->level = 1;
}
else {
$objCategory->level = 0;
}

$objCategory->status = $_POST['radActive'];


$objCategory->Save();

$msg = "Record Updated Successfully";
}

if($_POST['txtAction'] == 'delete') {
$objCategory->categoryId = $_POST['txtCat'];
$objCategory->Delete();
}

if($_POST['txtAction'] == 'edit') {
$rsEditCategory = $objCategory->GetList(array(array('categoryid','=',$_POST['txtCat'])),'',true);
}

$rsCategory = $objCategory->GetList(array(array('categoryid','!=',""),array('level','=',0)),'',true);
$total_record = count($rsCategory);

?>





Admin Panel







































   
 
     
   






































if($_GET['action'] == 'subcat') {
?>






















Manage Category
 
 












for($i=0;$i ?>



$rsSub = $objCategory->GetList(array(array('categoryId','!=',""),array('path','=',$rsCategory[$i]->categoryId)),'',true);
?>




}
?>

Sr no Category Name Sub Category Status Edit
category_name ?> status ?> Edit -  Delete
 
 
Manage Sub Category
 
 











$rsSub = $objCategory->GetList(array(array('categoryId','!=',""),array('path','=',$_GET['id'])),'',true);
for($i=0;$i // $rsQuestion = $objQuestion->getList(array(array('categoryid','=',$rsSub[$i]->categoryId)),'',true);
?>








if(count($rsSub) == 0) {
?>






}
?>

Sr no Sub Category Name Status Edit
category_name ?> status; ?> Edit -  Delete
 
No Sub Category Found !
 

































 Add / Edit Category
 
Category Name :
Category Level :
Status : status == "Active") {?> checked="checked" />
Active
status == "Inactive") {?> checked="checked" />
Inactive
disabled="disabled" onclick="return manageuser_validation();" />
 
disabled="disabled" />