Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Pudotuslaatikkoon värejä

Sivun loppuun

jarspa [09.03.2010 15:07:05]

#

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...

<?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"]." ".$mysql_tiedot["talli"]."</option>";
          }
print "</select>";

?>

pistemies [09.03.2010 15:18:45]

#

Tällä kurin minulla pelaa..

print "<option style='color:red' value='".$mysql_tiedot["snimi"].">";

jarspa [09.03.2010 16:00:39]

#

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.

vph81 [09.03.2010 16:49:54]

#

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

jarspa [09.03.2010 19:22:54]

#

Ei kyl toimi...

Merri [09.03.2010 20:08:48]

#

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.

Metabolix [09.03.2010 20:21:43]

#

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.

jarspa [09.03.2010 20:30:22]

#

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ä.

Merri [10.03.2010 04:31:58]

#

Yksi temppu jonka voit tehdä on asettaa fontti monospaceksi ja käyttää hyväksi &nbsp;: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 &nbsp;: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( ' ', '&nbsp;', str_pad(htmlspecialchars($rivi['nimi'].' '.$rivi['snimi']), 40) ).htmlspecialchars($rivi['talli']);

Smuliii [10.03.2010 15:31:16]

#

Lisää luokka (class). Nopealla googletuksella löysin esimerkinkin: http://www.outfront.net/tutorials_02/adv_tech/funkyforms5.htm


Sivun alkuun

Vastaus

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

Tietoa sivustosta