Autor Zpráva
JanoS
Profil *
Ahoj všichni, začínám s OOP v PHP, je to úkol ze školy. Mám vytvořit skrip v PHP za pomoci OOP. Vytvořil jsem třídu Zamestnanec a třídy Pedagog a Nepedagog, které dědí členské proměnné a členské funkce z třídy Zamestnanec. Potřeboval bych, aby se mi údaje vypsaly do tabulky. Jak mám zařadit tabulku do PHP skriptu. A dá se nějak udělat filtr, aby jsem si mohl vybrat, že chci zobrazit jen pedagogický pracovníky nebo nepedagogický pracovníky? Moc děkuji za Vaše rady a názory. Jsem začátečník. Díky JanoS

<?php
/* Třída Zamestnanec - zaměstnanec školy*/
class CZamestnanec
{
var $jmeno, $prijmeni, $email;

function CZamestnanec($jmeno, $prijmeni, $email)/*Konstruktor*/
{
$this->jmeno = $jmeno;
$this->prijmeni = $prijmeni;
$this->email = $email;
}

function vytiskni()
{
echo "Jméno: ";
echo $this->jmeno ;
echo "<br />\n";

echo "Příjmení: ";
echo $this->prijmeni;
echo "<br />\n";

echo "Email: ";
echo $this->email;
echo "<br />\n";

}
}

/* Třída Pedagog (pedagogický pracovník) - dědí členské proměnné a funkce z třídy Zamestnanec*/
class CPedagog extends CZamestnanec
{
var $stupen, $aprobace;

function CPedagog($aprobace, $stupen, $jmeno, $prijmeni, $email)/*Konstruktor*/
{
$this->CZamestnanec($jmeno, $prijmeni, $email);
$this->stupen = $stupen;
$this->aprobace = $aprobace;
}

function vytiskni()
{
echo "Jméno: ";
echo $this->jmeno ;
echo "<br />\n";

echo "Příjmení: ";
echo $this->prijmeni;
echo "<br />\n";

echo "Email: ";
echo $this->email;
echo "<br />\n";

echo "Učí na: ";
echo $this->stupen ;
echo "<br />\n";

echo "Aprobace: ";
echo $this->aprobace;
echo "<br />\n";

}
}
/* Instalace třídy Pedagog*/
$pedagog_udaje = new CPedagog("ČJ/AJ", "SOU", "Pepík", "Novák",
"pepik@novak.cz");
$pedagog_udaje->vytiskni();


/* Třída Nepedagog (nepedagogický pracovník) - dědí členské proměnné a funkce z třídy Zamestnanec*/
class CNepedagog extends CZamestnanec
{
var $usek, $zarazeni;

function CNepedagog($zarazeni, $usek, $jmeno, $prijmeni, $email)/*Konstruktor*/
{
$this->CZamestnanec($jmeno, $prijmeni, $email);
$this->usek = $usek;
$this->zarazeni = $zarazeni;
}

function vytiskni()
{
echo "Jméno: ";
echo $this->jmeno ;
echo "<br />\n";

echo "Příjmení: ";
echo $this->prijmeni;
echo "<br />\n";

echo "Email: ";
echo $this->email;
echo "<br />\n";

echo "Pracovní úsek: ";
echo $this->usek ;
echo "<br />\n";

echo "Pracovní zařazení: ";
echo $this->zarazeni;
echo "<br />\n";

}
}
/* Instalace třídy Nepedagog*/
$nepedagog_udaje = new CNepedagog("účetní", "Ekonomický", "Jana", "Hornychova",
"jana@hornychova.cz");
$nepedagog_udaje->vytiskni();

?>
sicario
Profil
Nastrkal bych si jednotlive zamestnance do pole a pak je v cyklu vypsal.

Pro tvorbu filtru bych pouzil napr. funkci is_a.

$zamestnanci = array(
  new CPedagog("ČJ/AJ", "SOU", "Pepík", "Novák", "pepik@novak.cz"),
  new CNepedagog("účetní", "Ekonomický", "Jana", "Hornychova", "jana@hornychova.cz")
);


// sem by prisla pripadne hlavicka tabulky
foreach ($zamestnanci as $zamestnanec){
  // sem by prisla podminka filtru
  $zamestnanec->vytiskni();
}
// sem jeji paticka

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: