Terve, pyydän kaikkien kommentteja seuraavasta ajatuksesta.
Ryhdyin tekemään itselleni pientä paikallista (localhost) tietokantaa (MySQL) sanalistasta. Sanalistan saa ulos tietokannasta PHP:llä. Valmis sanalista olisi samassa muodossa kuin Harrin finnish.dict.in-tiedosto. PHP:n tulostamalta www-sivulta sen voisi siirtää ja tallentaa Katen (utf-8 pakotettuna) avulla finnish.dict.in-tiedostoon. Webmin ja phpMyAdmin auttavat sopivien sql-hakujen etsimiseen ja muokkaamiseen. En ole vielä tehnyt lomaketta (alasvetovalikot yms) tallennusta varten, haen vasta itse tietokannan taulun muotoa ja mitä tietoja siihen pitäisi tallentaa. Sanan tarkistaminen tietokannasta ennen sen tallentamista, jotta sana ei ole kahta kertaa sanalistalla, on tärkeä ominaisuus. Toisaalta sanalistaa voi säilyttää cvs:ssä tai vastaavassa. Tekstitiedostoa sellaisenaan on kai pidemmän päälle aika mahdotonta ylläpitää? Taulu näyttää nyt tältä: dict_id - Automaattinen numerointi, esim. 3 dict_sana - Sanalistan sana, esim. kissa dict_koodi - Sanastokoodi Harrin sivun mukaan, esim. subst-p dict_luokka - Sanaluokka, esim. substantiivi dict_abc - Aakkosluokka, esim. k Kaksi tärkeintä lienee dict_sana ja dict_koodi, muu on hyödyllistä (?). Kehittelen tätä omaan käyttöön viikonlopun ajan, mutta idea on siis www-lomake, jonka avulla voi tallettaa sanoja tauluun. Taulusta ne saa ulos suoraan muodossa "sana sanastokoodi" niin, että sanojen välissä on yksi rivi. Tämän www-listauksen voi siirtää ja tallentaa Katen avulla uudeksi finnish.dict.in-tiedostoksi. --- Alla on käytännön esimerkit taulusta ja php-skripteistä. dict_finnish.sql: -- phpMyAdmin SQL Dump -- version 2.6.1-pl3 -- http://www.phpmyadmin.net -- -- Palvelin: localhost -- Luontiaika: 19.08.2005 klo 09:28 -- Palvelimen versio: 4.1.10 -- PHP:n versio: 4.3.10 -- -- Tietokanta: `arkki` -- -- -------------------------------------------------------- -- -- Rakenne taululle `dict_finnish` -- DROP TABLE IF EXISTS `dict_finnish`; CREATE TABLE IF NOT EXISTS `dict_finnish` ( `dict_id` int(11) NOT NULL auto_increment, `dict_sana` text, `dict_koodi` varchar(255) NOT NULL default '', `dict_luokka` text, `dict_abc` text NOT NULL, PRIMARY KEY (`dict_id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ; -- -- Vedostan dataa taulusta `dict_finnish` -- INSERT INTO `dict_finnish` VALUES (1, 'ja', 'part-erill', 'partikkeli', 'j'), (2, 'Jumala', 'subst-p', 'substantiivi', 'j'), (3, 'kissa', 'subst-p', 'substantiivi', 'k'); --- 1. Valmis sanalista. ja part-erill Jumala subst-p kissa subst-p <?php $hostname="localhost"; $user="arkki"; $password=""; mysql_connect($hostname,$user,$password); $query="SELECT * FROM `dict_finnish` LIMIT 0 , 30"; $result=mysql_db_query("arkki",$query); if ($result) { while ($r=mysql_fetch_array($result)) { $dict_sana=$r["dict_sana"]; $dict_koodi=$r["dict_koodi"]; echo "$dict_sana $dict_koodi<p>"; } } ?> 2. Aakkosluokka "k". 3 kissa subst-p substantiivi k <?php $hostname="localhost"; $user="arkki"; $password=""; mysql_connect($hostname,$user,$password); $query="SELECT * FROM `dict_finnish` WHERE `dict_abc` = CONVERT( _utf8 'k' USING latin1 ) COLLATE latin1_swedish_ci LIMIT 0 , 30"; $result=mysql_db_query("arkki",$query); if ($result) { while ($r=mysql_fetch_array($result)) { $dict_id=$r["dict_id"]; $dict_sana=$r["dict_sana"]; $dict_koodi=$r["dict_koodi"]; $dict_luokka=$r["dict_luokka"]; $dict_abc=$r["dict_abc"]; echo "$dict_id <br/>"; echo "<b>$dict_sana</b> <br/>"; echo "<b>$dict_koodi</b> <br/>"; echo "$dict_luokka <br/>"; echo "$dict_abc <p>"; } } ?> 3. Kaikki tiedot taulusta. dict_id: 1 dict_sana: ja dict_koodi: part-erill dict_luokka: partikkeli dict_abc: j dict_id: 2 dict_sana: Jumala dict_koodi: subst-p dict_luokka: substantiivi dict_abc: j dict_id: 3 dict_sana: kissa dict_koodi: subst-p dict_luokka: substantiivi dict_abc: k <?php $hostname="localhost"; $user="arkki"; $password=""; mysql_connect($hostname,$user,$password); $query="SELECT * FROM `dict_finnish` LIMIT 0 , 30"; $result=mysql_db_query("arkki",$query); if ($result) { while ($r=mysql_fetch_array($result)) { $dict_id=$r["dict_id"]; $dict_sana=$r["dict_sana"]; $dict_koodi=$r["dict_koodi"]; $dict_luokka=$r["dict_luokka"]; $dict_abc=$r["dict_abc"]; echo "dict_id: $dict_id <br/>"; echo "dict_sana: <b>$dict_sana</b> <br/>"; echo "dict_koodi: <b>$dict_koodi</b> <br/>"; echo "dict_luokka: $dict_luokka <br/>"; echo "dict_abc: $dict_abc <p>"; } } ?> Ystävällisin terveisin Asmo. -- http://fi.openoffice.org/ http://openoffice-fi.sourceforge.net/ --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
