Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Selected-attribuutit taulukon mukaan, bugi koodissani

mvi10 [27.10.2016 11:04:47]

#

Koitan saada monivalintaruksit formiin valittua päälle siten, että $koetulokset sisältää valittavat kohteet ja $koetunnus listaa kaikki mahdolliset ruksittavat kohteet. Ainoastaan ensimmäinen checkbox saa nyt ruksin.

<select name="kayttotul[]" id="kayttotul" data-native-menu="false" multiple="multiple" data-iconpos="left">
    <?php
$koetulokset = explode(',', $kayttotul);

$koelista=mysqli_query($link,'SELECT tunnus FROM koetunnukset');

while ($rowkoe = mysqli_fetch_array($koelista, MYSQLI_ASSOC)) {
			$koetunnus = Encoding::toUTF8($rowkoe["tunnus"]);
			          echo "<option value ='$koetunnus'" ;
                          foreach ($koetulokset as $value) {

                                if ($value == $koetunnus) {
                                    echo " selected='selected' ";
                                }
                            }
                echo ">";
                 echo $koetunnus ;
                echo "</option>";
            }
?>
    </select>

Grez [27.10.2016 11:39:10]

#

Olisiko vertailtavat arvot kirjoitettu jotenkin eri tavalla, vaikkapa toisessa jotain isoilla kirjaimilla ja toisessa pienillä.

Voisit myös kokeilla debugata laittamalla silmukan tähän tyyliin

foreach ($koetulokset as $value) {
	echo "<!--$value==$koetunnus-->";
	if ($value == $koetunnus) {
		echo " selected='selected' ";
	}
}

Ehkäpä tuota tulostusta katsoessa syntyy joku ahaaelämys.

mvi10 [27.10.2016 19:14:42]

#

Olen noita tulostuksia tuijotellut eilisestä. Nyt jostain syystä alkoi toimia, en keksi muuta selitystä kuin että tuohon exploden jälkeisen pilkun viereen lisäsin välilyönnin. ', '
Ehkä se oli tuo, ehkä ei, toimii nyt joka tapauksessa.

Metabolix [27.10.2016 19:17:59]

#

Jos kerran tuon jälkeen toimii, kyllä se varmasti oli tuosta kiinni. Jos aiemmin olet katkaissut pelkällä pilkulla, muihin kuin ensimmäiseen on jäänyt alkuun ylimääräinen välilyönti, ja tietenkin "sana" on eri kuin "<väli>sana".

HTML-koodissasi on value-sanan jälkeen hassusti välilyönti. Suosittelen yhtenäistä koodaustyyliä, niin koodia on helpompi lukea.

Vastaus

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

Tietoa sivustosta