PHP obiekty

Języki, których efekty są wykonywane po stronie serwera. PHP, ASP czy CGI w połączeniu z bazami danych SQL dają niezwykłe możliwości budowy i zarządzania stron WWW. Tu zadajemy pytania oraz demonstrujemy kod, z którym mamy problem.
Demerzel
Posty: 2
Rejestracja: pt kwie 23, 2010 10:13 am

PHP obiekty

Post autor: Demerzel »

Witam,
Obiekty w PHP są dla mnie nowym "doznaniem". Zastanawia mnie jak z lat praktyki najlepiej tworzyć konstruktory w sytuacji gdy obiekt może być tworzony przez wpisanie danych do formularza i zapisany do bazy lub odczytany z bazy.
Nasuwa mi sie pomysł konstruktora z dodatkową zmienną i listą z wartościami domyślnymi. W efekcie konstruktor potrafił by zapisywać do bazy nowe obiekty i je odczytywać.
Druga powiązana kwestia jak do obiektu przekazać dane hosta hasło i nazwę bazy MySQL.
Demerzel
Posty: 2
Rejestracja: pt kwie 23, 2010 10:13 am

Re: PHP obiekty

Post autor: Demerzel »

Znalazłem rozwiązanie swojego problemu lecz coś mi umyka. Stworzyłem klasę z funkcja static, problem polega na tym że nie moge się dobrać do teoretycznie zapisywanych zmiennych obiektu w celu ich wyświetlenia.

Kod: Zaznacz cały

  
public static function student_list()
{
        $db=dbconnect();
        $query="SELECT uczen.id, uczen.imie, uczen.nazwisko, uczen.plec, uczen.urodziny, uczen.telefon, klasa.rok, klasa.litera FROM uczen LEFT JOIN (klasa) ON (klasa.id=uczen.klasa)";
        $result=mysql_query($query);
        if (!$result)
        {
                die(mysql_error());
        }
        $i=0;
        while ($key=mysql_fetch_assoc($result))
        {
                #print $key['imie'];
                $students[$i]= new student($key['imie'],$key['nazwisko'],$key['plec'],$key['litera'],$key['urodziny'],$key['telefon'],$key['id'],$key['rok']);
                $i++;
        }
        return $students;
}
public function show()
        {
        print $this->$imie;
}

Kod: Zaznacz cały

<?php
        include 'modules/global.php';
        include 'modules/class.php';

        $table =student::student_list();
        #$table[0]->imie = 'name'; Zdjęcie komentarza powoduje wyświetlenie imienia
        print $table[0]->imie;
        $table[0]->show();
?>
ODPOWIEDZ