Eli mikä olisi järkevin tapa muuttaa tietokannasta haettu teksti listaksi.
Tietokannan teksti esimerkiksi:
7-pisteen AF DPP RAW kuvankäsitttelyohjelma yhtäaikainen RAW/JPEG kuvantallennus USB 2.0 Hi-speed/Video Out PictBridge yhteensopiva suomenkielinen käyttövalikko
Ja tähän pyritään:
<li>7-pisteen AF</li> <li>DPP RAW kuvankäsitttelyohjelma</li> <li>yhtäaikainen RAW/JPEG kuvantallennus</li> <li>USB 2.0 Hi-speed/Video Out</li> <li>PictBridge yhteensopiva</li> <li>suomenkielinen käyttövalikko</li>
Tämä tulisi siis suorittaa aina ns. "lennossa", kun teksti luetaan tietokannasta.
Tämä voisi toimi olettaen, että haet kannasta asiaa, jossa on juuri tuollainen rakenne. Tarkoitan, että jokaisen halutun tiedon jälkeen tulee "\n" eli rivin vaihto.
<?php $info = mysql_query("SELECT tieto FROM tarkatTiedot WHERE id = 1"); echo"<ul>\n"; $rivi = mysql_fetch_array($info) $tiedot = explode("\n", $rivi); for($a = 0; $a < count($tiedot); $a++){ echo"<li>" . $tiedot[$a] . "</li>\n"; } echo"</ul>\n"; ?> Kirjoitettu ihan hatusta, mutta sinnepäin pitäs olla.
Sain ratkaistua str_replacella.
Kerro toki muillekin ratkaisusi. Se voi auttaa jotakuta, jolla on samantyylinen ongelma.
<?php $i=1; $sql="SELECT * FROM tuotetiedot WHERE id='$pid'"; $haku=mysql_query($sql, $yhteys); $yhteenveto=mysql_result($haku, $i, "yhteenveto"); $yhteenveto=str_replace("\n", "</li><li>", $yhteenveto); echo"<ul class=\"t\"><li>$yhteenveto</ul>"; ?>
Tekstistäsi jää nyt puuttumaan viimeinen </li>.
<?php $kohdat = "<li>" . str_replace("\n", "</li><li>", trim($teksti)). "</li>"; echo "<ul>", $kohdat, "</ul>"; ?>
Kappas niin jäikin. Itselläni se on php koodin ulkopuolella...
Aihe on jo aika vanha, joten et voi enää vastata siihen.