February 2009

You are currently browsing the monthly archive for February 2009.

Adding two array

To add a array with a array, you can use array_combine(),but to use this function arrays size must be same.
for example:

$array1=array(1,4,5,6);
$array2=array(A,K,M,P);
$array3= array_combine($array1,$array2);

//array3 will be
$array3=
array(
[1]=>A,
[4]=>K,
[5]=>M,
[6]=>P,
)

for more information you can visit php.net/array_combine

Related posts

Tags: , , ,

I found two model two make to make category system with unlimited category one oft them is Tree traversal, and other is Adjacency list model.

I will use adjacency list model  because it is more understandable than tree traversal. In tree traversal model , insterting and editing categories is unclear , also this model is for bigger database.  However, i advice you to look  up Tree traversal’s logic, i liked it :) .

Let’s start with creating database;

CREATE TABLE IF NOT EXISTS `category` (
  `id` int(11) NOT NULL auto_increment,
  `name` varchar(128) NOT NULL,
  `top_id` int(11) NOT NULL,
  PRIMARY KEY  (`id`),
  KEY `id` (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;


– Tablo döküm verisi `category`

INSERT INTO `category` (`id`, `name`, `top_id`) VALUES
(1, ‘Computer’, 0),
(2, ‘Laptop’, 1),
(3, ‘Asus’, 2),
(4, ‘Phones’, 0);
 

We want to make sth like this:

-Computer

— PCS

——Laptop

———Asus

-Phone

We use functions that call itself named recursive functions.

class CATEGORY
{
function cat($cat_id, $space= 1, $x =”) // cat id, space to add "_" degree of categoreis times, list of categories
{
$sql = mysql_query("SELECT * FROM category WHERE top_id=’$cat_id’");

while($select = mysql_fetch_assoc($sql))
{

$this->x = $this->x.str_repeat(‘_’, $space).$select['name'].’-';  // making a list with all categories names. we add "_" to in front of category name. It adds degree of category times. For example asus deggre is 2 therefore it will be __asus, pda’s degree is one therefore it will be _pda

$this->x = $this->cat($select['id'], ($space+1), $this->x);  // function calls itself, with this, it finds subcategory of a category.
}
return $this->x; // This is list of all categories. Each category is separating with "-", be careful this is not an array , this is a string
}

function get_cat($cat_id)
{
$list = $this->cat($cat_tid);
$arr = explode(‘-’, $list); // making array with categories
unset($arr[count($arr-1]);// deleting last element of array, because it is a blank
return $arr // return a array;

}

}

To use it

$example = new CATEGORY;
$get_array_categories = $exapmle ->get_cat(0);
print_r($get_array_categories);

I wrote this to show you how you can make a category system with unlimited subcategory. If my codes don’t woking fine, please
inform.

Related posts

Tags: , , ,