NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: Evidence docházky (MVC,PHP)

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Veronika Karásková :16.4.2017 9:19

Ahoj, tvořím docházkový systém formou MVC-PHP pro bakalářskou práci. Mám první modul pro evidenci a správu zaměstnanců, ale zasekla jsem se na druhém modolu pro evidenci docházky. Pod odkazem docházka by se měla uživateli vygenerovat tabulka s aktuálním měsícem, která by měla mít sloupce datum, příchod, odchod, absence, odpracovaná doba a poznámka. Tabulka musí být editovatelná, aby si do ní uživatel mohl zapsat příchod a odchod, a po uložení se uložit do databáze. U zaměstnanců jsem to řešila formulářem a vytvořením editoru, ale to byl vždy jeden zaměstnanec, takže tady by musel být každý řádek dne formulář. Už si nevím rady, jak se z toho vymotat. Poradíte, prosím?
Na začátku strany docházka jsem zatím vytvořila filtr, který bude určovat o kterého zaměstnance a které období se jedná.
view:

<form method="POST">
  <label>Zaměstnanec: </label>
  <select name="zamestnanec">
    <?php foreach ($zamestnanci as $zamestnanec) : ?>
    <option value="<?= $zamestnanec['user_id'] ?>"><?= $zamestnanec['jmeno'] ?> <?= $zamestnanec['prijmeni'] ?></option>
    <?php endforeach ?>
  </select><br><br>

  <label>Měsíc: </label>
  <select name="mesic">
    <?php foreach ($mesic as $index => $hodnota) : ?>
    <option value="<?= $index ?>"><?= $hodnota ?></option>
    <?php endforeach ?>
  </select>

  <label>Rok: </label>
  <input type="number" name="rok" value="2017"><br>

    <input type="submit" value="Zobrazit docházku">
</form><br>

controller:

class DochazkaController extends Controller
{
    public function zpracuj($parametry)
    {
        $this->overUzivatele();
        $this->hlavicka['titulek'] = 'Docházka';

        $zpracovaniDochazky = new ZpracovaniDochazky();
        $mesic = $zpracovaniDochazky->vratMesic();
        $this->data['mesic'] = $mesic;

        $spravceZamestnancu = new SpravceZamestnancu();
        $zamestnanci = $spravceZamestnancu->vratSeznamZamestnancu();

        $spravceUzivatelu = new SpravceUzivatelu();
          $prihlasenyUzivatel = $spravceUzivatelu->vratUzivatele();
                        if ($prihlasenyUzivatel)
                                $zamestnanec = $prihlasenyUzivatel;

                $this->data['user_id'] = $zamestnanec['user_id'];
                $this->data['jmeno'] = $zamestnanec['jmeno'];
                $this->data['prijmeni'] = $zamestnanec['prijmeni'];
                $this->data['zamestnanci'] = $zamestnanci;
                $this->view = 'dochazka';
    }
}

model:

class ZpracovaniDochazky
{
        public function vratMesic()
        {
    $mesic = array(1 => "leden", "únor", "březen", "duben", "květen", "červen",
    "červenec", "srpen", "září", "říjen", "listopad", "prosinec");

                return $mesic;
        }
}
 
Odpovědět
16.4.2017 9:19
Avatar
kaskader202
Člen
Avatar
Odpovídá na Veronika Karásková
kaskader202:24.5.2017 11:36

Ahoj, napiš zda prolém trvá, rád ti pomůžu.

 
Nahoru Odpovědět
24.5.2017 11:36
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.