/** * Näyttää muokattavan suorituksen tiedot. * @param Parametrit $parametriolio * @return Palauttaa merkkijonon, joka näyttää muokkaustilan. */ function nayta_muokattavat($parametriolio) { $palaute = ""; $kaikki_osumat = array(); $valinnat = $parametriolio->valinnat; $tietokantaolio = $parametriolio->tietokantaolio; // empty() palauttaa true myös, jos muuttuja ei-määritelty. if (empty($valinnat)) { $palaute = "nolla valittu"; } else { $ind = 0; foreach ($valinnat as $id) { $suoritushaku = $tietokantaolio->tee_WHEREhaku_1('suoritukset', 'id', $id); //Osumataulussa pitäisi aina olla vain yksi olio (unique id). $osumataulu = $tietokantaolio->hae_osumarivit_olioina($suoritushaku); // JOs osumataulussa on jotakin, lisätään eka olio (ja // toivottavasti ainoa) kaikkiin osumiin. if (sizeof($osumataulu) != 0) { $kaikki_osumat[$ind] = $osumataulu[0]; $ind++; } } //Näytetään vain eka tässä vaiheessa. Muuten muuttujien siirto // tuntuu hankalalta. Onnistuisko jotenkin yksi kerrallaan? Toisaalta // ei ole kovin olennainen. if (sizeof($kaikki_osumat) == 0) { $palaute = "nolla valittu"; } else { $olio = $kaikki_osumat[0]; $parametriolio->uusi_suoritus = false; $parametriolio->suoritus_id = $parametriolio->valinnat[0]; $palaute = nayta_suorituslomake($parametriolio); } } return $palaute; }
} else { // Haetaan ekan valinnan indeksi: $suoritus_id = $_SESSION['valinnat'][0]; // Palauttaa true, jos onnistuu: $tallennuspalaute = tallenna_suorituksen_muutos($tietokantaolio, $suoritus_id, $omaid, $laji, $matkametreina, $paiva, $kk, $vuosi, $kesto, $kuvaus, $lajitarkennus, $kestotunnit, $kestomin, $kestosek, $nakyvyys); if ($tallennuspalaute == "onnistui") { $viesti = "Muutokset tallennettiin onnistuneesti!"; if ($parametriolio->paluunakyma == Muistio_yleisia_arvoja::$nakyma_tulostilasto) { $palauteolio = hae_suoritustilasto($parametriolio); } else { $sisaltoteksti = hae_suoritukset($tietokantaolio, $omaid, true, $omaid); } } else { $viesti = $tallennuspalaute; $parametriolio->uusi_suoritus = false; $sisaltoteksti = nayta_suorituslomake($parametriolio); } } break; default: $sisaltoteksti = hae_suoritukset($tietokantaolio, $omaid, true, $omaid); //$viesti = "Toiminta_arvo: ".$toiminta; } // Suljetaan yhteys tietokantaan: $tietokantaolio->sulje_tietokanta(); // Tarkistetaan, onko palauteolio käytössä: if ($palauteolio->kaytossa()) { $sisaltoteksti = $palauteolio->get_sisalto(); $viesti = $palauteolio->get_ilmoitus(); } }