<?php // Klasa Kategorie class TCategories { private $count; //ilosc kategorii private $tablename; // nazwa tabeli w bazie mysql public function __construct($tab_name) //Konstruktor klasy TCategories { $i=0; $this->tablename=$tab_name; { $this->categories[$i]= new TCategory($result->id,$result->name); $i++; } } public function GetTableName() { return $this->tablename; } } ?>
I klasę przechowującą informacje o danej kategorii:
<?php class TCategory extends TCategories { private $id; private $name; public function __construct($id,$name2) { $this->id=$id; $this->name=$name2; } public function ChangeName($name) { { $tab=$this->tablename; $query=\"UPDATE \".parent::GetTableName().\" SET name = '\".$name.\"' WHERE `id` = \".$this->GetID().\" LIMIT 1;\"; $this->name=$name; return true; } else return false; } public function GetID() { return $this->id; } } ?>
dla wyjasnienia TCategory->categories[] to jest tablica obiektow klasy TCategory.
Tworze obiekt:
<?php $categories= new TCategories(\"categories\"); ?>
W bazie znajduja juz sie dane wiec do $categories->categories[] ladowane sa informacje z bazy danych. Problem jest gdy chce zmienic nazwe danej kategorii. Chodzi dokladnie o ta linie w metodzie ChangeName() klasy TCategory:
<?php $query=\"UPDATE \".parent::GetTableName().\" SET name = '\".$name.\"' WHERE `id` = \".$this->GetID().\" LIMIT 1;\"; ?>
parent:GetTableName() jest pusta zmienna. Chyba w takim razie tak nie mozna. Wiec jak powienienem sie odwolac do wlasnosci klasy TCategories w klasie TCategory?