Yritin saada formin tiedot päivityslomakkeelle näkyviin. Radio button -valinnat eivät toimineet, vaikka yritin täällä mainittua tapaa käyttää nimi[] -tyylisiä nimiä. Mitenköhän valueksi saisi tietokannassa tällä hetkellä olevan valinnan? Nyt olen kiertänyt sen kirjoittamalla "nykyinen valintasi on x", mutta tyhjät painikkeet tietysti nollaavat jo tehdyn valinnan.. Eli valinta pitäisi siis näkyä yhtenä valittuna radio button -nappina.
Radiopainikeryhmällä voi olla vain yksi arvo kerrallaan voimassa, joten on turhaa käyttää niiden nimenä taulukkoa "nimi[]". Katso esimerkki HTML-suosituksesta.
Kun tulostat lomaketta, annat kaikille radiopainikkeille saman nimen, käyt ne silmukassa läpi, ja sille, jonka value-attribuutti on sama kuin tietokantaan tallennettu, asetat attribuutin checked, joka saa arvon checked.
Noinhan se teoriassa menee, mutta mitenköhän käytännössä? En oikein osaa kuin testailla eri vaihtoehtoja, kun ei ole aiempaa kokemusta vastaavasta. Ei onnistu. Löytyyköhän jostain esimerkkiä?
<input type="radio" checked="checked" ...plaaplaa>
Eikö toi Meitsin tapa laita sen checked sitten jokaiseen? Siis kuinka saan vain sen valinnan "checked", joka on tällä hetkellä päällä?
Siis eikös radionapit tehdä näin:
Valinta1: <input type="radio" name="valinta" value="arvo"> Valinta2: <input type="radio" name="valinta" value="arvo2"> Valinta3: <input type="radio" name="valinta" value="arvo3" checked="checked">
Tuossa siis tuo viimeinen olisi oletuksena valittuna.
Joo, mutta kuinka saan PÄIVITYSLOMAKKEELLE haettua mysql-tietokannasta sen arvon, joka kulloinkin on valittuna?
$hakulause = SELECT valinta[sarake mihin "valinta" sijoitetaan] FROM tietokanta; if $hakulause=arvo[haluttu arvo esim. valinta nro 2] print "<input type="radio" name="valinta value="arvo"> else print "ei pelittänyt"
tietty mukaan vielä ne muutkin vaihtoehdot, mutta jotenkin tuohon suuntaan?
No jotain sinne päin sain aikaiseksi... Tällä sain toimimaan. Ei ehkä parasta koodia, mutta menkööt! Näin siis tehty joka arvon kanssa.
if ($Kentta[xx]=="Arvo1") print '<input type="radio" name="Nimi" value="Arvo1" checked="Checked"> Arvo1 <br>'; else print '<input type="radio" name="Nimi" value="Arvo1"> Arvo1 <br>';
Kiitos avusta!
Aihe on jo aika vanha, joten et voi enää vastata siihen.