Terve!
Miten saan tuosta optionista muokattua tietokannasta tulevan "talli" tiedon esim. punaisella fontilla!? Olen yrittänyt laittaa tuonne väliin vaikka mitä mutten saa toimimaan...
Tällä kurin minulla pelaa..
print "<option style='color:red' value='".$mysql_tiedot["snimi"].">";
Pekka Mansikka kirjoitti:
Tällä kurin minulla pelaa..
print "<option style='color:red' value='".$mysql_tiedot["snimi"].">";
No toihan on ihan selvä juttu, mutta miten saan pelkästään ton "talli" tiedon punaisella? Tuossa mun esimerkissä on samassa myös "nimi" ja "snimi" jotka tulevat kannasta.
Pelaisko näin: (en nyt pääse kokeilemaan..)
<?php print "<select name='sija1' id='sija1'>"; while($mysql_tiedot = mysql_fetch_array($mysql_haku)){ print "<option value=".$mysql_tiedot["snimi"].">".$mysql_tiedot["nimi"]." ".$mysql_tiedot["snimi"]."<div style='color:red'>".$mysql_tiedot["talli"]."</div></option>"; } print "</select>"; ?>
Mod. lisäsi kooditagit
Ei kyl toimi...
Divit ei ole kelpoja optionien sisällä. Sen sijaan span voi toimiakin. Koska haluan tuoda esille pari epäkohtaa tuosta tulostuksesta, niin tässä on otettu pari asiaa enemmän huomioon:
<?php $rivit = array(); while( $rivi = mysql_fetch_array($mysql_haku) ) { $rivit[] = $rivi; } if( count($rivit) > 0 ) { ?> <select name="sija1" id="sija1"> <?php foreach($rivit as $rivi) { $snimi = htmlspecialchars($rivi['snimi']); $nimi = htmlspecialchars($rivi['nimi']); $talli = '<span style="color:red">' . htmlspecialchars($rivi['talli']) . '</span>'; ?> <option value="<?php echo $snimi; ?>"><?php echo $nimi . ' ' . $snimi . ' ' . $talli; ?></option> <?php } ?> </select> <?php }
Minulla tosin on jatkokysymys: vaihtuuko talli joka rivillä, vai onko niitä useampia samanmoisia? Mikäli näin on, niin tiedot voisi vaikka ryhmitellä nimenomaan tallin mukaan ja sitten tulostella <optgroup label="$talli">
jne.
Myöskään span (tai mikään muukaan) ei ole validi optionin sisällä ainakaan XHTML 1.0 Strictissä, ja oli tai ei, ainakaan Firefox ei suostu sitä värittämään.
Merri kirjoitti:
Divit ei ole kelpoja optionien sisällä. Sen sijaan span voi toimiakin.
...
Minulla tosin on jatkokysymys: vaihtuuko talli joka rivillä, vai onko niitä useampia samanmoisia?
Ei toimi tuokaan span juttu. Talli vaihtuu kyllä joka rivillä.
Yksi temppu jonka voit tehdä on asettaa fontti monospaceksi ja käyttää hyväksi :tä siihen, että saat tallin alkamaan jokaisella rivillä samasta kohdasta. Voit käyttää PHP:n str_padia ensin luomaan tarpeelliset välilyönnit merkkijonon loppuun ja sitten korvata välilyönnit :llä, jolloin lopputuloksena tallin nimet alkaa aina tietystä kohdasta ja siten helpottaa lukemista.
Toinen, helpompi vaihtoehto olisi laittaa tallin nimi vaikkapa sulkuihin.
Ylempi vaihtoehto, tulee vähän suttuinen mutta:
$option = str_replace( ' ', ' ', str_pad(htmlspecialchars($rivi['nimi'].' '.$rivi['snimi']), 40) ).htmlspecialchars($rivi['talli']);
Lisää luokka (class). Nopealla googletuksella löysin esimerkinkin: http://www.outfront.net/tutorials_02/adv_tech/
Aihe on jo aika vanha, joten et voi enää vastata siihen.