Stworzyłem sobie dwie klasy - pierwsza to główny obiekt z informacjami a druga to zbiór tych obiektów stworzonych w tablicy.
Konstruktory głównego obiektu ładnie się wykonują, na pewno wszystkie informacje które chce aby zostały zapisane są zapisywane. Jednak gdy druga klasa wywołuje inną metodę niż konstruktor w klasie z głównym obiektem to się wszystko wali. Po prostu brak jest danych w zmiennych (tablicach), w których na pewno w konstruktorze coś przypisałem.
<?
class projects
{
var $information;
var $images;
function projects($name)
{
$query = "SELECT * FROM projekty WHERE nazwa='$name'";
$result = mysql_query($query) or die('Error, query failed');
$row = mysql_fetch_array($result);
$this->information = $row;
$query = "SELECT * FROM screen WHERE id_projekt='$name'";
$result = mysql_query($query) or die('Error, query failed');
$count=0;
while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
$this->images[$count]["opis"] = (string)$row["opis"];
$this->images[$count]["nazwa"] = (string)$row["nazwa"];
$count++;
}
}
function show_image($il)
{
//****************** TU WŁĄŚNIE BRAK TYCH DANYCH (BRAK JAKIEJKOLWIEK WARTOŚCI w $opis1
$opis1=$this->images[0]["opis"];
echo $opis1;
//echo "<a href=\"screen/big/$nazwa1\" target=\"_blank\"><img class=\"imgLink\" src=\"screen/small/$nazwa1\" alt=\"$opis1\" /></a>";
}
}
//***********************************************************
class list_projects
{
var $all_projects;
function list_projects()
{
$query = "SELECT nazwa FROM projekty";
$result = mysql_query($query) or die('Error, query failed');
while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
$this->all_projects[] = new projects($row["nazwa"]);
}
}
function show_last()
{
$this->all_projects[0]->show_image(0);
}
}
?>