Ongelmani on, että miten saan muokkauslomakkeessa alasvetovalikkoon tulostumaan vanhan arvon.
Tuossa on koodin pätkä lisäyslomakkeen alasvetovalikosta, jossa näytetään tontin postitoimipaikka ja tontin nimi. Tietokantaan viedään tieto vain tonttiID:stä. Eli miten tuo pitää muuttaa että muokkauslomakkeessa on samanlainen alasvetovalikko, mutta siinä on valmiiksi näkyvillä vanha arvo.
<label>Hae tontti:<br> <? //Haetaan tontit listaan $sql = "select tonttiid, postitoimipaikka.postitoimipaikka, nimi from postitoimipaikka, tontti "; $sql .= "where tontti.postinumero = postitoimipaikka.postinumero order by postitoimipaikka, nimi"; $result = MySql_query($sql); print "<select name = 't.nimi'>"; while ( $row = Mysql_fetch_array( $result ) ) { print "<option value = '$row[0]' > $row[1], $row[2]"; } print "</select>\n"; print "<br><br>"; ?>
Mod. lisäsi kooditagit
Hae valittu arvo muuttujaan ennen noiden vaihtoehtojen valintaa ja kirjoita valitun vaihtoehdon atribuutiksi selected="selected", jolloin se tulee valittua oletusarvoksi.
Eli silmukan sisälle tulee suunnilleen seuraava koodi:
if ($row[0] == $valittu) { print "<option selected='selected' value='$row[0]'> $row[1], $row[2]"; } else { print "<option value='$row[0]'> $row[1], $row[2]"; }
Tässä muuttuja $valittu sisältää muokattavan tontin id:n.
HTML:ssä ei kuulu olla välejä =-merkin ympärillä, eli
<option value = "a"> on väärin, ja
<option value="a"> on oikein.
Kiitokset vastauksiksta. Nyt toimii, mutta heräsi toinen kysymys. Eli miten alasvetovalikon saa näyttämään tyhjää muokkauslomakkeessa, jos siinä ei ole arvoa tai sama homma lisäyslomakkeessa. Tällä hetkellä siinä näkyy taulun ensimmäinen tietue.
Yksi ratkaisu on tulostaa ennen silmukkaa alasvetovalikon alkuun ylimääräinen tyhjä valinta eli option-tagi, jonka value on vaikkapa -1. Tämä valinta näkyy sitten valittuna, jos muutakaan ei ole valittu.
Aihe on jo aika vanha, joten et voi enää vastata siihen.