/** * * @param Parametrit $parametriolio * @return string */ function nayta_tilastotaulukko($parametriolio) { $omaid = $parametriolio->omaid; $tietokantaolio = $parametriolio->tietokantaolio; // Paluunappi: $class = "rinnakkain"; $id = "paluunappi"; $action = "muistio.php"; $name = Muistiotoimintonimet::$perustoiminto; $value = Muistiopainikkeet::$paluu_perussuoritusnakymaan; $paluunappi = Html::luo_painikelomake($class, $id, $action, $name, $value); // Palautettava merkkaus: $mj = $paluunappi . "<br />"; // Haetaan kilometrit ja kerrat: =========================================== $lajiarvot = Laji::get_lajiarvot(); $parametriolio->henkilo_id = $omaid; // Käydään läpi kaikki lajit: foreach ($lajiarvot as $lajiarvo) { $parametriolio->laji = $lajiarvo; $kuukausitiedot = hae_lajin_kuukausitilasto($parametriolio); if (!empty($kuukausitiedot)) { $mj .= "<div class='lapinakyva'>" . Laji::hae_lajikuvaus($lajiarvo) . ":</div>"; $mj .= $kuukausitiedot; } } $mj .= "<br />"; //========================================================================== $lajitarkennuskuvaukset = Lajitarkennukset::hae_lajitarkennuskuvaukset(); $lajitarkennusarvot = Lajitarkennukset::hae_lajitarkennusarvot(); $mj .= "<table class = 'tulostaulu'>\n <caption class='lapinakyva'>Juoksutuloksia</caption>\n <tr><th>Lajitarkennus</th><th>Hae tulokset</th></tr>"; $laskuri = 0; foreach ($lajitarkennuskuvaukset as $lajitarkennuskuvaus) { $lajitarkennusarvo = $lajitarkennusarvot[$laskuri]; $class = "rinnakkain"; $id = ""; $action = "muistio.php?" . URL_muuttujat::$lajitarkennus . "=" . $lajitarkennusarvo . "&" . URL_muuttujat::$vain_omat_suoritukset . "=1"; $name = "toiminta"; $value = Muistiopainikkeet::$tilasto_omat; $painike_oma = Html::luo_painikelomake($class, $id, $action, $name, $value); $action = "muistio.php?" . URL_muuttujat::$lajitarkennus . "=" . $lajitarkennusarvo . "&" . URL_muuttujat::$vain_omat_suoritukset . "=0"; $value = Muistiopainikkeet::$tilasto_kaikki; $painike_kaikki = Html::luo_painikelomake($class, $id, $action, $name, $value); // Näytetään painikkeet vain, jos vastaavia tuloksia löytyy: // Tarkastetaan ensin kaikki suoritukset, koska ellei niitä löydy, // ei kannata turhaan etsiä omia: $hakulause_kaikki = "SELECT id FROM suoritukset\n WHERE lajitarkennus= " . $lajitarkennusarvo; $osumat = $tietokantaolio->tee_OMAhaku_oliotaulukkopalautteella($hakulause_kaikki); // Ellei suorituksia ole, ei näytetä kumpaakaan painiketta: if (empty($osumat)) { $painike_kaikki = "Ei tuloksia"; $painike_oma = ""; } else { // Muussa tapauksessa tarkistetaan omat: $hakulause_oma = "SELECT id FROM suoritukset\n WHERE (lajitarkennus= " . $lajitarkennusarvo . " AND henkilo_id = " . $omaid . ")"; $osumat = $tietokantaolio->tee_OMAhaku_oliotaulukkopalautteella($hakulause_oma); // Ellei suorituksia ole, ei näytetä painiketta: if (empty($osumat)) { $painike_oma = ""; } } if ($laskuri > 0) { if ($laskuri % 2 == 0) { $mj .= "<tr class='parillinen_rivi'><td>{$lajitarkennuskuvaus}</td>" . "<td>" . $painike_oma . $painike_kaikki . "</td></tr>"; } else { $mj .= "<tr><td>{$lajitarkennuskuvaus}</td>" . "<td>" . $painike_oma . $painike_kaikki . "</td></tr>"; } } $laskuri++; } $mj .= "</table>"; return $mj; }
/** * Palauttaa lukua eli lajitarkennusindeksiä vastaavan * lajitarkennuskuvauksen, tai * tekstin "Tuntematon", jos parametri on sopimaton. * @param <type> $arvo * @return <type> */ public static function hae_lajitarkennuksen_kuvaus($arvo) { $kuvaus = "Tuntematon"; // Jos parametri on ok, haetaan lajitarkennuksen nimi. Jos huomataan // jotakin outoa, palautetaan virheviesti. if (is_numeric($arvo)) { try { $kuvaukset = Lajitarkennukset::hae_lajitarkennuskuvaukset(); $arvot = Lajitarkennukset::hae_lajitarkennusarvot(); $i = 0; // Laskuri foreach ($arvot as $testiarvo) { if ($arvo == $testiarvo) { $kuvaus = $kuvaukset[$i]; break; } $i++; } } catch (Exception $poikkeus) { $kuvaus = $poikkeus->getMessage(); } } return $kuvaus; }