Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: PHP: Muokkauslomakkeen alasvetovalikko

Aliisa [07.05.2009 10:51:12]

#

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

Teuro [07.05.2009 11:19:50]

#

Hae valittu arvo muuttujaan ennen noiden vaihtoehtojen valintaa ja kirjoita valitun vaihtoehdon atribuutiksi selected="selected", jolloin se tulee valittua oletusarvoksi.

Antti Laaksonen [07.05.2009 11:59:06]

#

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.

Metabolix [07.05.2009 13:42:31]

#

HTML:ssä ei kuulu olla välejä =-merkin ympärillä, eli
<option value = "a"> on väärin, ja
<option value="a"> on oikein.

Aliisa [07.05.2009 15:39:47]

#

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.

Antti Laaksonen [07.05.2009 18:14:20]

#

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.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta